Можно ли перезапустить фоновую службу после того, как пользователь очистит приложение с помощью любого стороннего приложения (очиститель CC или приложение Kill) в Android для уровня API ниже 24?
Я попробую приведенный ниже код, но функция onDestroy не вызывается после очистки приложения с помощью этого приложения kill(https://play.google.com/store/apps/details?id=com.tafayor.killall&hl=en)
StickyService.java
public class StickyService extends Service
{
private static final String TAG = "StickyService";
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e(TAG, "onStartCommand");
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
sendBroadcast(new Intent("YouWillNeverKillMe"));
}
}
RestartServiceReceiver.java
public class RestartServiceReceiver extends BroadcastReceiver
{
private static final String TAG = "RestartServiceReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "onReceive");
context.startService(new Intent(context.getApplicationContext(), StickyService.class));
}
}
Объявите компоненты в файле manifest:
<service android:name=".StickyService" >
</service>
<receiver android:name=".RestartServiceReceiver" >
<intent-filter>
<action android:name="YouWillNeverKillMe" >
</action>
</intent-filter>
</receiver>
Запустите StickyService в компоненте (т. е. в приложении, действии, фрагменте):
startService (новое намерение (это, StickyService.class));
OR
sendBroadcast (новое намерение (YouWillNeverKillMe));
Пожалуйста, помогите мне решить эту проблему.