android - android中广播接收器的多个 Action

标签 android broadcastreceiver intentfilter

我已经在 list 文件中注册了一个广播接收器用于连接更改。只要网络发生变化,它就可以正常工作,调用 onReceive()。但是当我启动我的应用程序并且有互联网时;因为网络没有变化;接收者没有被调用。我希望此接收器在应用程序首次启动时被调用。

我的想法是向BroadcastReceievr 添加一个 Action ,这是个好主意吗?每当调用连接更改操作时,我想注销启动器操作 Intent ..

我能做什么?

最佳答案

您可以像这样添加多个过滤器:

    IntentFilter inf = new IntentFilter();
    inf.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
    inf.addAction("app_launch");

    registerReceiver(receiver, inf);

当您在 onCreate 中启动您的应用程序时,您可以发送广播

    Intent intent = new Intent();
    intent.setAction("app_launch");
    sendBroadcast(intent); 

关于android - android中广播接收器的多个 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564124/

相关文章:

android - 如何在scrollview上方使用CollapsingToolbarLayout?

android - 来自 Firebase 的数据 - android 回收器 View 重新填充

android - 当应用程序被杀死/在后台时检测连接变化

java - 带有监听器的 BroadcastReceiver 在不使用时会耗尽电池

android - 如果我为操作 PICK 指定 mimeType,则 VIEW Intent 过滤器上缺少 URL 错误

Android Studio - 应用程序未安装到手机上,但运行

android - 移动 Chrome 中用于测试多个 android 包名称的 Intent URL

Android MapView 投影返回负数

android - 收到短信时联系人姓名未显示在通知中

android - 将应用程序与 Google 搜索结果和 Chrome 集成