为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

3 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

我刚刚解决了类似的问题。

如果通过从最近的应用程序列表中轻扫应用程序而终止服务,那么您可以执行以下操作。

里面你的清单文件,守旗stopWithTasktrue维修。喜欢:

<service
    android:name="com.myapp.MyService"
    android:stopWithTask="true" />

但正如你所说,你想取消注册听众并停止通知等,我会建议这种方法:

  1. 里面你的清单文件,守旗stopWithTaskfalse维修。喜欢:

    <service
        android:name="com.myapp.MyService"
        android:stopWithTask="false" />
  2. 现在在您的MyService服务中,覆盖方法onTaskRemoved。(只有在stopWithTask设置为时才会触发false)。

    public void onTaskRemoved(Intent rootIntent) {
    
        //unregister listeners
        //do any other cleanup if required
    
        //stop service
        stopSelf();  }

请参阅我的问题以获取更多详细信息,其中也包含其他部分代码。

希望这可以帮助。


查看完整回答
反对 回复 2019-08-01
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

找到了一种方法来做到这一点

像这样做一个服务

public class OnClearFromRecentService extends Service {@Overridepublic IBinder onBind(Intent intent) {
    return null;}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {
    Log.d("ClearFromRecentService", "Service Started");
    return START_NOT_STICKY;}@Overridepublic void onDestroy() {
    super.onDestroy();
    Log.d("ClearFromRecentService", "Service Destroyed");}@Overridepublic void onTaskRemoved(Intent rootIntent) {
    Log.e("ClearFromRecentService", "END");
    //Code here
    stopSelf();}

}

2)在manifest.xml中注册此服务

<service android:name="com.example.OnClearFromRecentService" android:stopWithTask="false" />

3)然后在您的启动活动上启动此服务

startService(new Intent(getBaseContext(), OnClearFromRecentService.class));

现在每当你从android最近清除你的应用程序然后这个方法onTaskRemoved()将执行。


查看完整回答
反对 回复 2019-08-01
  • 3 回答
  • 0 关注
  • 664 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号