티스토리 뷰
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
- Intent
- 앱테크
- p2e
- 리워드 어플
- android intent
- WEMIX
- task 생성
- mPANDO
- 안드로이드 인텐트
- 무료 채굴
- bindservice
- android flag activity
- 무료채굴
- onCreateContextMenu
- 채굴앱
- 안드로이드 서비스
- 앱테크 추천
- BroadcastReceiver
- StartService
- registerForContextMenu
- android task
- notifyDataSetChanged
- StringUtils
- android activity flag
- 리워드앱
- M2E
- onContextItemSelected
- Android Service
- RoomDatabase
- task
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함