Android开发,无法接收到发布的广播

Android开发,无法接收到发布的广播,第1张

Android开发中,可以通过以下方法发送广播

public class MainActivity extends AppCompatActivity {
    public static  String Action = "com.example.yqwan.action.custom";


 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent();
        intent.putExtra("msg", "how old are you?");
        intent.setAction(MainActivity.Action);
        intent.setPackage("com.yqwan.broadcastreceive");
        MainActivity.this.sendBroadcast(intent);
    }
}

其中调用的setPackage()方法进行更详细的说明,借用《第一行代码》的解释:

Android8.0系统之后,静态注册的BroadcastReceiver是无法接收隐式广播的,而默认情况下我们发出的自定义广播恰恰都是隐式广播。

因此这里一定要调用setPackage()方法,指定这条广播是发送给哪个应用程序的,从而让它变成一条显式广播,否则静态注册的BroadcastReceiver将无法接收到这条广播。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存