android中广播接收器的多个动作

时间:2013-12-13 10:26:36

标签: android broadcastreceiver intentfilter

我已在清单文件中注册了一个广播接收器以进行连接更改。每当网络发生变化时,它都会正常工作,onReceive()被调用。但是当我启动我的应用程序并且有互联网时;因为网络没有变化;接收器不会被调用。我希望这个接收器能够首次启动应用程序。

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

我该怎么办?

1 个答案:

答案 0 :(得分:2)

您可以添加以下多个过滤器:

    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);