Sto tentando di utilizzare uno sendOrderedBroadcast nella mia app per Android.Android - sendOrderedBroadcast help
Voglio essere in grado di inviare l'Intento da una delle mie applicazioni a un altro e quindi voglio recuperare i dati dall'applicazione che riceve l'intento, in questo caso un valore booleano vero o falso.
Ecco il codice corrente:
Intent i = new Intent();
i.setAction(GlobalData.PROPOSE_IN_DOMAIN_ROAM_INTENT);
i.putExtra("com.testnetworks.QCLEVEL", aProposedTheoreticalQoSLevel);
sendOrderedBroadcast(i, null, null, null, Activity.RESULT_OK, null, null);
E 'questo il modo corretto per ottenere ciò che voglio?
In tal caso, cosa utilizzo come parametro resultReceiver *? (3 ° parametro)
E quindi come posso ricevere i dati dalla trasmissione?
Ho fatto un rapido google e non ho trovato alcun esempio, nessun aiuto o esempi molto apprezzati.
codice aggiornato:
sendOrderedBroadcast(i, null, domainBroadcast, null, Activity.RESULT_OK, null, null);
class DomainBroadcast extends BroadcastReceiver{
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if(GlobalData.PROPOSE_IN_DOMAIN_ROAM_INTENT.equals(action)){
Log.d("BROADCAST", "Returning broadcast");
Bundle b = intent.getExtras();
Log.d("BROADCAST", "Returning broadcast " +
b.getInt("com.testnetworks.INT_TEST"));
}
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(GlobalData.PROPOSE_IN_DOMAIN_ROAM_INTENT.equals(action)){
Bundle b = intent.getExtras();
int testQCLevel = b.getInt("com.testnetworks.QCLEVEL");
switch(testQCLevel){
case 1:
Log.d("QCLevel ", "QCLevel = UNAVAILABLE");
break;
case 2:
Log.d("QCLevel ", "QCLevel = BELOWUSABILITY");
break;
case 3:
Log.d("QCLevel ", "QCLevel = VOICE");
break;
}
intent.putExtra("com.testnetworks.INT_TEST", 100);
}
Quindi, secondo il Doc dovrei ricevo 100 indietro nel mio ricevitore DomainBroadcast ma torna sempre come 0.
Qualcuno può vedere perché?
** resultReceiver -. Il vostro BroadcastReceiver a trattare come il destinatario finale della trasmissione *
Sono disponibili due metodi '' OnReceive() sopra. – JRL