天天看點

第一行代碼5.3有序廣播

設定靜态廣播可參考

https://www.jianshu.com/p/5283ebc225d5?utm_source=oschina-app

我自己改成了動态廣播,代碼如下:

public class MainActivity extends AppCompatActivity {
    private IntentFilter intentFilter;
    private  MyBroadcastReceiver myBroadcastReceiver;
``

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.button);
        intentFilter=new IntentFilter("com.example.broadcast.MY_BROADCAST");
        intentFilter.setPriority(100);
        myBroadcastReceiver=new MyBroadcastReceiver();
        registerReceiver(myBroadcastReceiver,intentFilter);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent("com.example.broadcast.MY_BROADCAST");
                sendOrderedBroadcast(intent,null);
            }
        });
//        intentFilter=new IntentFilter();
//        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
//        networkChangeReceiver=new NetworkChangeReceiver();
//        registerReceiver(networkChangeReceiver,intentFilter);
    }



  @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(myBroadcastReceiver);

    }

 // 下面是Broadcasttest2的代碼:

public class MainActivity extends AppCompatActivity {
    private IntentFilter intentFilter;
    private  AnotherBroadcastReceiver anotherBroadcastReceiver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        intentFilter=new IntentFilter();
        intentFilter.addAction("com.example.broadcast.MY_BROADCAST");
        intentFilter.setPriority(20);
        anotherBroadcastReceiver=new AnotherBroadcastReceiver();
        registerReceiver(anotherBroadcastReceiver,intentFilter);

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(anotherBroadcastReceiver);
    }
}
           

繼續閱讀