如何杀死或销毁应用程序时如何启动意向服务?

时间:2016-05-10 09:47:51

标签: android kill-process android-geofence

我尝试通过创建下面显示的此代码来解决此问题。但我没有得到结果。任何人都可以帮忙回答这个问题吗?

-In Geofence Triggering在杀死应用程序时没有获得转换通知。 -Entry退出通知正常工作当应用程序处于后台时但杀死应用程序通知后无法正常工作。

public void onDestroy()
{
    super.onDestroy();
    if(GpsService.mTimer != null)
    {
        startService(new Intent(context, GpsService.class));
    }
    Log.e(TAG, "onDestroy");
}

2 个答案:

答案 0 :(得分:2)

从您服务的onStartCommand()返回START_STICKY。在这种情况下(理想情况下)即使应用程序被“杀死”,服务也会重新启动。

(如果START_STICKY有效,则无需从onDestroy启动服务.Android会负责处理它。)

但是,在某些制造商的手机中,如果您从“近期任务”列表中清除该应用程序,则会强行杀死"强制杀死"该应用程序。在这种情况下,服务不会重新启动,您也无法做多。

答案 1 :(得分:0)

 public void onDestroy()
 {
     super.onDestroy();
     if(GpsService.mTimer != null)
     {
         startService(new Intent(context, GpsService.class));
     }
     Log.e(TAG, "onDestroy");
 }

这将首先破坏您的活动,然后检查您的状况。这是没用的东西。你可以试试这个

  public void onDestroy()
      {
          if(GpsService.mTimer != null)
          {
              startService(new Intent(context, GpsService.class));
          }
          Log.e(TAG, "onDestroy");
               super.onDestroy();

      }

`