Можно ли снова подключить Android debugger к Android Studio, чтобы проверить Break point после того, как приложение было закрыто?
Вы можете подключить отладчик, если процесс приложения невидим, но все еще жив. Если процесс завершен или нет, зависит от ОС Android.
Однако вы не сможете «проверить» точку останова, поскольку точка останова работает только в том случае, если код, содержащийся в точке останова, выполняется. Таким образом, точки останова работают только в интерактивном режиме - если вы подключаетесь к процессу после того, как точка останова была передана, невозможно извлечь информацию о состоянии процесса (переменные, ..) в то время, когда точка останова была передана, потому что она больше не доступна.
@Sudhanshu Gaur Хорошо, тогда ваш настоящий вопрос, верно? Как отлаживать службу Android? См. Также Точки останова не работают с сервисом в Android
Я попробовал вашу ссылку выше с параметром sync, но дело в том, что мой класс обслуживания - это MyFcmListener Service, поэтому эта служба будет работать только в течение миллисекунд, и из-за чего, когда я присоединю свой процесс в отладке, эта служба не будет отображаться.
@Sudhanshu Gaur: Тогда попробуйте waitForDebugger и / или другие способы отложить обслуживание, чтобы вы могли подключиться. Или используйте старую добрую отладку Log (распечатайте все, что вы, возможно, захотите знать, и каждую ветку).
waitForDebugger работал. В прошлый раз я делал что-то не так. Спасибо :)
Вероятно, вы пытаетесь открыть приложение из уведомления или службы, когда ваше приложение закрыто или было удалено из фонового режима системой Android.
Вот хороший способ обхода этого.
Создайте новый класс с именем Notification.class и расширите до него класс Application, как показано ниже.
package com.example.app;
import android.app.Application;
public class Notification extends Application {
@Override
public void onCreate() {
super.onCreate();
}
}
После этого в вашем файле AndroidManifest.xml внесите следующие изменения.
<application
android:name = ".NotificationClass"
.
.
android:usesCleartextTraffic = "true">
</application>
После этого всякий раз, когда вы получаете уведомление для своего приложения, а ваше приложение не находится в фоновом или переднем плане, вы сможете подключить отладчик из Android Studio, прежде чем нажимать на уведомление.
Надеюсь, поможет. :)
Я добавил точку останова в свою службу прослушивания Firebase (когда я получаю push-уведомление и мое приложение закрывается)