Фоновая служба Остановить при удалении приложения из последних - PullRequest
0 голосов
/ 31 мая 2018

Фоновая служба остановлена, при удалении моего приложения из последних мобильных телефонов OPPO и VIVO, в этом случае также не работает приемник Broadcast.

Ответы [ 4 ]

0 голосов
/ 24 августа 2018

У меня была такая же проблема с телефонами Oppo, Vivo, Mi и др.,

  1. после удаления из недавних приложений приложение было убито, даже службы убивались

Решение: Я добавил разрешения на автозапуск, такие как this в моем приложении, и это сработало.

После решения этой проблемы мое приложение зависало / убивалось после некоторого времени работы в фоновом режиме из-за режима DOZE. Решение: для этого условия это сработало, и теперь мое приложение работает в фоновом режиме на любом устройстве.

После всего вышеперечисленного сделайте следующее:

intent.setClassName ("com.coloros.oppoguardelf", "com.coloros.powermanager.fuelgaue).PowerConsumptionActivity ");startActivity (намерение);

вызов выше намерения, он перенаправит вас к параметру батареи, «Отключить фоновое замораживание, оптимизацию ненормальных приложений и Doze из« Экономии энергии -> youAPP »

Примечание:После того, как вы позвоните с вышеуказанным намерением, вы можете получить различные варианты отключения параметров экономии заряда батареи.

0 голосов
/ 31 мая 2018

Вам нужно попросить своих пользователей внести в ваше приложение белый список в настройках, чтобы оно работало на этих телефонах.Пользовательская ОС на этих телефонах позволяет только приложениям из белого списка, таким как whatsapp, fb и т. Д., Работать в фоновом режиме, другие приложения должны быть внесены в белый список вручную из настроек

0 голосов
/ 31 мая 2018

Да, вы должны вернуть 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();

 }
}
0 голосов
/ 31 мая 2018

да.
если вы хотите, чтобы служба запускалась заново, вам необходимо настроить ее как «закрепленную»:
https://developer.android.com/reference/android/app/Service.html#START_STICKY

...