Я использую службу переднего плана в своем приложении, на Android M и Oreo она работает отлично, но на устройствах Android 7 эта служба останавливается, если мы удаляем приложение из памяти (Очистить последние действия).Ниже приведена моя активность
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startService(start);
}
});
public void startService(View view) {
Intent serviceIntent = new Intent(getApplicationContext(),ExampleService.class);
serviceIntent.putStringArrayListExtra("appList",appList);
ContextCompat.startForegroundService(this,serviceIntent);
}
В Службе, которую я использую:
@Override
public int onStartCommand(Intent intent,int flag,int startid) {
Intent notificationIntent = new Intent(this,MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,notificationIntent,0);
scannedApp = intent.getStringArrayListExtra("appList");
Thread t = new Thread(new Runnable() {
@Override
public void run() {
getAPKFilePath();
}
});
t.start();
Notification notification = new NotificationCompat.Builder(this,CHANNEL_ID)
.setContentTitle("Example Service")
.setContentText("Working in Background")
.setSmallIcon(R.drawable.noti)
.setContentIntent(pendingIntent)
.build();
startForeground(1,notification);
return START_STICKY;
}
В методе getAPKFilePath();
Я выполняю тяжелую задачу.В Android 7, если приложение присутствует в памяти, то оно работает нормально (если просто нажать кнопку назад), но если удалить из памяти, то оно не работает.Не отображается значок уведомления.
Любое предложение будет оценено.Спасибо