NotificationListenerService 이상 종료 문제 및 디버깅 방법
Debugging 방법
notification access를 끈다음 debug rerun을 하고 다시 enable하면 잘된다.
원글: https://stackoverflow.com/questions/37774499/cant-use-debugger-with-notificationlistenerservice
NotificationListenerService가 호출되지 않는 문제
Android caching 문제라고 한다.
즉, 장치에 app을 업로드 할 때 OS는 해당 서비스를 notification manager에 connection하고 있으므로 다시 앱을 재실행 한다고해서 그 서비시를 재 연결하지 않는다. 따라서 그 후로 이상하게 onPosted나 onRemoved 같은 callback 함수가 호출이 안되는 것이다.
해결 방법: 서비스 이름을 변경 한다. 앱을 pushing하기 전에
onListenerConnected 해당 API를 이용하면 해당 Listener가 연결 되었는지를 알 수 있다.
원글: https://stackoverflow.com/questions/33530807/why-is-this-notificationlistenerservice-not-working
Cannot get the NotificationListenerService class to work
If your APK/binary changes and your NotificationListenerService stops:
- Rebooting fixes it.
- Going back in to
Notification access
and disabling and re-enabling your app it fixes it.
Ask the user to enable the setting (Notification Access) if needed
if (!Utilities.hasNotificationAccess(this))
{
Intent intent = new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS");
startActivity(intent);
Log.i(TAG,"hasNotificationAccess NO");
}
else
{
Log.i(TAG,"hasNotificationAccess YES");
// without this startService, it never works with Android 4.4...
// but this is not needed in Android 6...
Intent mServiceIntent = new Intent(this, NLService.class);
startService(mServiceIntent);
}
'Computer Science > Android Application' 카테고리의 다른 글
Android 6.0 이상에서의 백그라운드 서비스 생존 방법에 대한 고찰 (0) | 2018.04.03 |
---|---|
SQLite 탐색기 및 기초 쿼리 (0) | 2018.04.03 |
Firebase 설정 방법 (0) | 2017.10.31 |
Handler를 이용한 시간제한 기능 구현 (0) | 2017.08.22 |
AIDL과 Remote Service (1) | 2017.08.22 |