Android8.0自定义广播

自定义获取广播权限

  Intent intent= new Intent();
        //定义广播类型
        intent.setAction("Help_stitch");
        intent.setComponent(new ComponentName(getPackageName(),"com.examplehq.forhelp.MyReceiver"));
       /* intent.setComponent(new ComponentName("com.examplehq.forhelp","com.examplehq.forhelp.MyReceiver"));*/
        //发送广播
        sendBroadcast(intent);

定义有序广播

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IntentFilter filter2 = new IntentFilter();
        filter2.addAction("intercept_stitch");
        filter2.setPriority(999);
        this.registerReceiver(new MyReceiverOne(), filter2);

        IntentFilter filter1 = new IntentFilter();
        filter1.addAction("intercept_stitch");
        filter1.setPriority(1000);
        this.registerReceiver(new MyReceiverTwo(), filter1);

        IntentFilter filter3 = new IntentFilter();
        filter3.addAction("intercept_stitch");
        filter3.setPriority(998);
        this.registerReceiver(new MyReceiverThree(), filter3);
    }

    //单击事件
    public void click(View view) {
        //创建意图对象
        Intent intent =new Intent();
        //定义广播类型
        intent.setAction("intercept_stitch");
        //发送广播
        sendBroadcast(intent,null);

    }
}


public class MyReceiverOne extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO: This method is called when the BroadcastReceiver is receiving
        // an Intent broadcast.
        Log.i("MyReceiverOne","第一个自定义广播接收者");
        Toast.makeText(context, "第一个自定义广播接收者", Toast.LENGTH_SHORT).show();
    }
}
原创文章 5 获赞 0 访问量 839

猜你喜欢

转载自blog.csdn.net/shmilyhq/article/details/105901038