猿问

如何通过在Android中刷卡杀死应用程序时处理代码?

如何通过在Android中刷卡杀死应用程序时处理代码?如果我的应用程序正在运行,我按下主页按钮,应用程序进入后台。现在,如果长按home键并从最近的应用程序列表刷卡它杀死的应用程序,没有人像的事件onPause()onStop()或者onDestroy()被调用,而该过程被终止。因此,如果我希望我的服务停止,杀死通知和取消注册听众,我该怎么做?我阅读了不少文章和博客,但没有得到任何有用的信息,我没有找到任何有关它的文档。任何帮助,将不胜感激。提前致谢。

喵喔喔
浏览 665回答 3
3回答

慕桂英546537

我刚刚解决了类似的问题。如果通过从最近的应用程序列表中轻扫应用程序而终止服务,那么您可以执行以下操作。里面你的清单文件,守旗stopWithTask的true维修。喜欢:<service &nbsp;&nbsp;&nbsp;&nbsp;android:name="com.myapp.MyService" &nbsp;&nbsp;&nbsp;&nbsp;android:stopWithTask="true"&nbsp;/>但正如你所说,你想取消注册听众并停止通知等,我会建议这种方法:里面你的清单文件,守旗stopWithTask的false维修。喜欢:<service &nbsp;&nbsp;&nbsp;&nbsp;android:name="com.myapp.MyService" &nbsp;&nbsp;&nbsp;&nbsp;android:stopWithTask="false"&nbsp;/>现在在您的MyService服务中,覆盖方法onTaskRemoved。(只有在stopWithTask设置为时才会触发false)。public&nbsp;void&nbsp;onTaskRemoved(Intent&nbsp;rootIntent)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//unregister&nbsp;listeners &nbsp;&nbsp;&nbsp;&nbsp;//do&nbsp;any&nbsp;other&nbsp;cleanup&nbsp;if&nbsp;required &nbsp;&nbsp;&nbsp;&nbsp;//stop&nbsp;service &nbsp;&nbsp;&nbsp;&nbsp;stopSelf();&nbsp;&nbsp;}请参阅我的问题以获取更多详细信息,其中也包含其他部分代码。希望这可以帮助。

汪汪一只猫

找到了一种方法来做到这一点像这样做一个服务public&nbsp;class&nbsp;OnClearFromRecentService&nbsp;extends&nbsp;Service&nbsp;{@Overridepublic&nbsp;IBinder&nbsp;onBind(Intent&nbsp;intent)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;null;}@Overridepublic&nbsp;int&nbsp;onStartCommand(Intent&nbsp;intent,&nbsp;int&nbsp;flags,&nbsp;int&nbsp;startId)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Log.d("ClearFromRecentService",&nbsp;"Service&nbsp;Started"); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;START_NOT_STICKY;}@Overridepublic&nbsp;void&nbsp;onDestroy()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;super.onDestroy(); &nbsp;&nbsp;&nbsp;&nbsp;Log.d("ClearFromRecentService",&nbsp;"Service&nbsp;Destroyed");}@Overridepublic&nbsp;void&nbsp;onTaskRemoved(Intent&nbsp;rootIntent)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Log.e("ClearFromRecentService",&nbsp;"END"); &nbsp;&nbsp;&nbsp;&nbsp;//Code&nbsp;here &nbsp;&nbsp;&nbsp;&nbsp;stopSelf();}}2)在manifest.xml中注册此服务<service&nbsp;android:name="com.example.OnClearFromRecentService"&nbsp;android:stopWithTask="false"&nbsp;/>3)然后在您的启动活动上启动此服务startService(new&nbsp;Intent(getBaseContext(),&nbsp;OnClearFromRecentService.class));现在每当你从android最近清除你的应用程序然后这个方法onTaskRemoved()将执行。
随时随地看视频慕课网APP

相关分类

Android
我要回答