后台服务从最近删除应用程序时停止

时间:2018-05-31 10:59:36

标签: android broadcastreceiver android-broadcast background-service oppo

当从最近的oppo& amp;中移除我的应用程序时,后台服务停止体育手机,&广播接收器在这种情况下也不起作用。

4 个答案:

答案 0 :(得分:2)

是的,您必须返回START_STICKY;

请参阅此链接:

https://www.tutorialspoint.com/android/android_services.htm

示例:

public class MyService extends Service {

@Nullable

@Override
   public IBinder onBind(Intent intent) 
{
  return null;
   }

   @Override
   public int onStartCommand(Intent intent, int flags, int startId) 

{

  // Let it continue running until it is stopped.

Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
      return START_STICKY;

   }

   @Override
   public void onDestroy() {

 super.onDestroy();

Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show();

 }
}

答案 1 :(得分:2)

我在Oppo,Vivo,Mi等手机上也遇到了同样的问题,

  1. 从最近的应用程序中删除后,应用程序被杀死,甚至服务也被杀死

解决方案:我在应用程序中添加了this之类的自动启动权限,并且可以正常工作。

  1. 解决了此问题后,由于DOZE模式在后台运行了一段时间,我的应用被冻结/杀死了 解决方案:在这种情况下,this可以正常工作,现在我的应用程序可以在任何设备的后台运行

  2. 完成上述操作后:

intent.setClassName(“ com.coloros.oppoguardelf”,“ com.coloros.powermanager.fuelgaue.PowerConsumptionActivity”); startActivity(intent);

按照上述意图进行调用,它将把您重定向到电池选项,“从“节能器-> youAPP”禁用后台冻结,异常的应用程序优化和打Do”

注意:调用上述意图后,您可能会获得不同的选项来关闭省电选项。

答案 2 :(得分:1)

是肯定的。
如果您希望重新启动服务,则需要将其配置为“粘性”:
https://developer.android.com/reference/android/app/Service.html#START_STICKY

答案 3 :(得分:1)

您需要让用户在其设置中将您的应用列入白名单,以便在这些手机中使用。这些手机上的自定义操作系统只允许whatsapp,fb等白名单应用程序在后台运行,其他应用程序必须从设置中手动列入白名单