Tôi đang cố gắng sử dụng một số sendOrderedBroadcast trong ứng dụng Android của mình.Android - sendOrderedBroadcast trợ giúp
Tôi muốn có thể gửi Intent từ một trong các ứng dụng của mình sang ứng dụng khác và sau đó tôi muốn lấy lại dữ liệu từ Ứng dụng nhận được Intent, trong trường hợp này là boolean true hoặc false.
Đây là mã hiện tại:
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);
Đây có phải là cách chính xác để đạt được những gì mà tôi muốn?
Nếu vậy tôi sẽ sử dụng thông số nào làm thông số resultReceiver *? (Tham số thứ 3)
Và sau đó làm cách nào để nhận lại dữ liệu từ Phát sóng?
Tôi đã thực hiện một google nhanh chóng và không đưa ra bất kỳ ví dụ nào, bất kỳ trợ giúp hoặc ví dụ nào được đánh giá cao.
MÃ CẬP NHẬT:
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);
}
Vì vậy theo của Doc tôi nên nhận được 100 trở lại trong người nhận DomainBroadcast của tôi nhưng nó luôn luôn trở lại là 0.
Có ai có thể xem tại sao không?
** resultReceiver -. BroadcastReceiver riêng của bạn để điều trị như nhận thức của phát sóng *
Bạn có hai 'onReceive()' phương pháp trên. – JRL