2016-01-04 2 views
0

Я пытаюсь отладить службу, которая должна запускаться даже после закрытия пользователем, а затем удаляет приложение. Я хочу отлаживать 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(); 
} 
+0

Вы не можете отлаживать после очистки вашего приложения. –

+0

убедитесь, что у вас нет набора 'ServiceInfo.FLAG_STOP_WITH_TASK', который просто остановит службу без обратного вызова, который вы хотите вызвать. Также убедитесь, что вы помещаете инструкции журналов в эти методы, чтобы убедиться, что они вызываются или нет. (Я нашел инструкции logcat как полезные для отладки служб как «отладчик») – mawalker

ответ

2

Вы можете попробовать использовать

adb shell dumpsys alarm | grep com.my.package 

или что-то вроде этого.

+0

Возможно, я не использовал это правильно, но я просто набрал это в оболочку и начал отлаживать, и он не путешествовал по точке останова, пока показывал тост. В нем говорилось «Отключено». –

+0

Что делает 'dumpsys alarm'? Благодаря! –

+0

В нем отображаются только запланированные аварийные сигналы. Это не для отладки. Возможно, другие dumpsys будут показывать больше информации об услуге, но я думаю, что она также удалена с помощью приложения. – Mistic92