티스토리 뷰
Android/Troubleshooting
AppWidgetProvider 의 onEnable/onDisabled 가 호출되지 않을 때
parkho79 2019. 1. 11. 14:04728x90
Android target SDK 를 Android O(API level 26) 이상으로 올린 후 기존에 잘 동작하던 widget 의 click event (pending intent) 가 동작하지 않았다.
Android O 에서 암시적 브로드캐스트(Implicit broadcast) 인텐트 제한이 적용되었기 때문이다.
암시적 브로드캐스트(Implicit broadcast) 를 묵시적 브로드캐스(Explicit broadcast) 로 변경 후 동작을 확인해보니 AppWidgetProvider 의 onEnable / onDisabled 함수가 호출되지 않았다.
- onEnable : App widget 이 처음 생성될 때 불림. 같은 위젯을 여러개 띄어도 첫 번째 위젯을 띄울 때만 호출.
- onDisabled : App widget 이 마지막으로 삭제될 대 불림.
열심히 googling 해봤지만 딱히 원하는 답을 찾지 못했다가 알아낸 사실!!!
AppWidgetProvider 의 onReceiver 에서 super 를 호출해야 해당 메소드가 호출 된다.
물론, onEnable / onDisabled 함수가 호출되지 않는 이유가 요 한 케이스는 아니겠지만 다른 설정이 이상 없을 때는 onReceiver super 를 호출했는지 확인해보자!
728x90
'Android > Troubleshooting' 카테고리의 다른 글
[ADB] INSTALL_FAILED_ALREADY_EXISTS (0) | 2020.03.19 |
---|---|
getColor, getDrawable deprecated (0) | 2020.01.30 |
[ADB] error: more than one device/emulator (0) | 2019.05.17 |
This view is not constrained (0) | 2019.01.16 |
[Android O] Broadcast limitations for widget (2) | 2019.01.10 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- android activity flag
- 무료채굴
- 앱테크
- mPANDO
- registerForContextMenu
- 안드로이드 서비스
- StringUtils
- RoomDatabase
- M2E
- StartService
- android task
- onContextItemSelected
- task
- android intent
- 리워드 어플
- android flag activity
- onCreateContextMenu
- p2e
- Intent
- WEMIX
- 리워드앱
- task 생성
- notifyDataSetChanged
- 무료 채굴
- 채굴앱
- 안드로이드 인텐트
- 앱테크 추천
- BroadcastReceiver
- Android Service
- bindservice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함