Android Abort BroadcastReceiver

时间:2011-09-13 07:28:37

标签: android broadcastreceiver abort

我试图在退出应用程序后阻止BroadcastReceiver显示。到目前为止,我只是在安装应用程序时才显示Toast。它工作得很好,除了如果我退出应用程序接收器仍然是活动的。 这是AndroidManifest的Receiver代码:

<receiver android:name=".MyBrowdcastreceiver" android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_ADDED" />
            <action android:name="android.intent.action.PACKAGE_INSTALL" />
            <data android:scheme="package" />
        </intent-filter>
    </receiver>

我想知道我应该在主Activity中使用onDestroy()或onStop()方法,这会导致接收器停止。

感谢。

1 个答案:

答案 0 :(得分:2)

您已在清单文件中注册了收件人,即使您的应用未运行,也会收到通知。您可以做两件事来满足您的需求:

  1. 您需要以编程方式注册,取消注册接收器。

  2. 您可以使用布尔值,如果应用程序正在运行,您将设置为true,否则为false。您可以在BraodcastReceiver的onReceive()方法中使用此布尔值,您需要检查布尔值并在布尔值为true时执行操作。