Я создал службу и назвал этот класс службы из BaseActivity.
Intent serviceIntent = new Intent(this, UserAvailabilityService.class);
startService(serviceIntent);
public class UserAvailabilityService extends Service {
private static final String TAG = UserAvailabilityService.class.getSimpleName();
boolean isChecked = false;
boolean isUserAvailable = false;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate()");
isChecked = getAvailableStatusFromFref();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "onStartCommand()");
return START_NOT_STICKY;
}
@Override
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
Log.i(TAG, "onTaskRemoved()");
if(isChecked) {
//Hit a api
}
else
{
}
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy()");
}
@Override
public void onLowMemory() {
super.onLowMemory();
Log.i(TAG, "onLowMemory()");
}
}
Если приложение вылетает или закрывается из диспетчера задач, тогда я хочу нажать api.
Прямо сейчас, когда я перелистываю приложение из фона, вызывается этот метод onTaskRemoved. и я бью по API.
Но когда я закрываю то же самое приложение из диспетчера задач (Настройка-> Приложения-> Имя приложения-> Принудительная остановка), этот метод onTaskRemoved не вызывается.
Любая идея, пожалуйста, дайте мне знать.