Я пытаюсь использовать sendOrderedBroadcast в моем приложении для Android.
Я хочу иметь возможность отправлять Намерение из одного из моих приложений в другое, а затем хочу получить данные обратно из Приложения, которое получает Намерение, в данном случае логическое значение true или false.
Вот текущий код:
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);
Это правильный способ достичь того, чего я хочу?
Если так, что я могу использовать в качестве параметра resultReceiver *? (3-й параметр)
А как мне получить данные из трансляции?
Я быстро пробежался по Google и не нашел ни одного примера, никакой помощи или примеров, которые очень ценятся.
ОБНОВЛЕННЫЙ КОД:
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);
}
Таким образом, согласно Документу, я должен получить 100 обратно в мой приемник DomainBroadcast, но он всегда возвращается как 0.
Кто-нибудь может понять почему?
** resultReceiver - ваш собственный BroadcastReceiver для обработки в качестве конечного получателя трансляции. *