Autore Topic: Attivazione broadcast da url  (Letto 424 volte)

Offline lz91

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S I-9000
  • Sistema operativo:
    Ubuntu, Windows 7
Attivazione broadcast da url
« il: 17 Aprile 2014, 14:41:22 CEST »
0
Ciao ragazzi

sto cercando un modo per attivare un broadcast receiver non appena l'utente visita un determinato sito.
So che esiste un modo per avviare un activity tramite url.
Il mio scopo pero' era quello di non avviare un activity ma bensi' una thread o service per effettuare delle istruzioni in background.
Questo penso sia possibile solo tramite broadcast recever.
Ho provato a fare qualche prova ma non ci sono riuscito.

La prima prova che ho fatto è stata di avviare un activity e funzionava. Qui il codice:

Codice (XML): [Seleziona]
 <activity
           android:name="com.prova.MainActivity"
           android:label="@string/app_name" >
           
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                   android:host="www.nomesito.com"
                   android:scheme="https"
                   android:pathPrefix="/path"  />
            </intent-filter>
        </activity>


La seconda prova e stata quella di avviarlo con il broadcast.
Questo è il codice :

Codice (XML): [Seleziona]
 <receiver android:name="BroadcastUrl">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                   android:host="www.nomesito.com"
                   android:scheme="http"                    
                     />
            </intent-filter>
</receiver>

Ma non funziona.
Qualcuno mi sa dire cosa sbaglio?
Grazie  ;-)

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Attivazione broadcast da url
« Risposta #1 il: 17 Aprile 2014, 15:49:26 CEST »
0
Ti faccio vedere un esempio di BroadCast Receiver

Manifest
Codice (XML): [Seleziona]
<receiver android:name="com.example.app.util.MyReceiver" >
            <intent-filter android:priority="1000" >
                <action android:name="com.example.app" />
            </intent-filter>
</receiver>

Dunque si scatena quando succede l'action .. "MyReceiver" è la classe "che fa quello che deve fare" una volta scatenato il receiver...

Dunque avrai
Codice (Java): [Seleziona]
public class MyReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
    // Do some work here
    }
}

Offline lz91

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S I-9000
  • Sistema operativo:
    Ubuntu, Windows 7
Re:Attivazione broadcast da url
« Risposta #2 il: 17 Aprile 2014, 17:33:46 CEST »
0
Ok grazie della risposta.
Ma al posto di "com.example.app" cosa dovrei mettere per identificare che tale BroadCast si attivi alla pressione di un link?
Con "com.example.app" intendevi mettere il package di un applicazione ?
Perche' un link puo' essere premuto sia in un app sia nel browser predefinito.