我试图在退出应用程序后阻止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()方法,这会导致接收器停止。
感谢。
答案 0 :(得分:2)
您已在清单文件中注册了收件人,即使您的应用未运行,也会收到通知。您可以做两件事来满足您的需求:
您需要以编程方式注册,取消注册接收器。
您可以使用布尔值,如果应用程序正在运行,您将设置为true,否则为false。您可以在BraodcastReceiver的onReceive()方法中使用此布尔值,您需要检查布尔值并在布尔值为true时执行操作。