Я пытаюсь отладить службу, которая должна запускаться даже после закрытия пользователем, а затем удаляет приложение. Я хочу отлаживать onTaskRemoved
, который вызывается, когда пользователь нажимает кнопку истории своего телефона и очищает его. Но когда я начинаю режим отладки, то разъединяются, когда я избавлюсь от приложения:Отладка Android после удаления приложения?
Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'
Есть ли способ, чтобы продолжить отладку после того как пользователь очищает приложение? Или есть специальный способ отладки службы?
Это, вероятно, не имеет значения, но только за идею моей службы
@Override
public void onTaskRemoved(Intent rootIntent) {
context = getApplicationContext();
Intent restartService = new Intent(context, this.getClass());
restartService.setPackage(getPackageName());
PendingIntent restartServicePI = PendingIntent.getService(context, 1, restartService, PendingIntent.FLAG_ONE_SHOT);
// Restart once killed by android or user
AlarmManager alarmService = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 100, restartServicePI);
// ^Try setRepeating
Toast.makeText(context, "onTaskRemoved", Toast.LENGTH_LONG).show();
}
Вы не можете отлаживать после очистки вашего приложения. –
убедитесь, что у вас нет набора 'ServiceInfo.FLAG_STOP_WITH_TASK', который просто остановит службу без обратного вызова, который вы хотите вызвать. Также убедитесь, что вы помещаете инструкции журналов в эти методы, чтобы убедиться, что они вызываются или нет. (Я нашел инструкции logcat как полезные для отладки служб как «отладчик») – mawalker