有序广播 sendOrderedBroadcast
发布日期:2021-05-10 05:23:00 浏览次数:19 分类:精选文章

本文共 3781 字,大约阅读时间需要 12 分钟。

���������������sendOrderedBroadcast���������

������

������������������������������������������������Android���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������

  • ���������������������������������������������������������������������������������������������������������������������������������������������������������������
  • ���������������������������������������������������������������������������������������������0���������������������������������������������
  • ������������������������������������������������������������������������������������������������������
  • API������������

    • ���������������
    sendOrderedBroadcast(intent, null, receiver, null, 0, null, null, null)
    • ���������������
    sendOrderedBroadcast(intent, receiverPermission, resultReceiver, 
    scheduler, initialCode, initialData, initialExtras)
    • ���������������resultReceiver���������������������������������������������������������initialData������������������resultExtras���������������������������

    ���������������

    • ���������������
    • ���������������
    intentFilter.setPriority(100);
    • ���������������-1000���10000���������������������������������

    ������������

  • ���������������������������setResultExtras(Bundle)���������������������������������������
  • ���������������������getResultExtras(true)���������������������������������������������
  • ���������������������abortBroadcast()������������������������������������������������������������������������
  • ������������

    public class SendOrderBroadcastActivity extends Activity {
    @BindView(R.id.order_btn) TextView orderBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_order_broadcast);
    ButterKnife.bind(this);
    initReceiver1();
    initReceiver2();
    initReceiver3();
    }
    @Override
    protected void onDestroy() {
    super.onDestroy();
    }
    @OnClick(R.id.order_btn)
    public void onViewClicked() {
    Intent intent = new Intent(ACTION);
    intent.putExtra(KEY_MAIN, "������������KEY_MAIN");
    sendOrderedBroadcast(
    intent,
    null,
    new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
    Log.i(TAG, "���������������");
    }
    },
    null,
    0,
    null,
    null
    );
    }
    private class EndReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    Bundle bundle = getResultExtras(true);
    String name = bundle.getString(KEY);
    Log.i(TAG, "EndReceiver onReceive:" + name);
    }
    }
    public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    Log.i(TAG, "MyReceiver onReceive");
    Bundle bundle = new Bundle();
    bundle.putString(KEY, "���������������������������������");
    setResultExtras(bundle);
    }
    }
    public class MyReceiver2 extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    Bundle bundle = getResultExtras(true);
    String name = bundle.getString(KEY);
    Log.i(TAG, "MyReceiver2 onReceive:" + name);
    }
    }
    }

    ������������

    MyReceiver onReceive
    EndReceiver onReceive:���������������������������������
    MyReceiver2 onReceive:���������������������������������
    ���������������

    ������

    上一篇:每天记录学习的新知识 : 本地广播 LocalBroadcastManager
    下一篇:每天记录学习的新知识 : Android 设置系统语言

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月03日 14时00分52秒