일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- KTS
- ActiveX
- c
- 리눅스
- Android 4.1
- 보안
- Eclipse
- 코틀린
- build.gradle
- 안드로이드 개발
- ActiveMovieControl
- OOM
- mime
- 노개북
- git
- java
- 탐지기법
- kotlin
- 자바
- C++
- linux
- 개발
- 구글
- 하버드
- Android
- 안철수
- 안드로이드
- gradle
- 악성코드
Archives
- Today
- Total
꿈소년의 개발 이야기
[Notification Bar] Notification Bar 에 이벤트 추가 본문
반응형
notification bar 에 어떤 이벤트를 추가하는 것이 가능한가?
분석한 결과대로라면,
프레임워크를 수정하지 않고서는 절대 불가능하다고 보고 있다.
이유는 노티피케이션이 가지는 이벤트 수용 영역이 뷰 전체를 영역으로 하기 있기 때문에
어떤 특정 버튼을 심는다거나 리스너를 넣는다 쳐도 터치 시에 감응하는 이벤트 영역은 항상 전체 뷰로 보고 있다.
따라서 어떤 이벤트도 수행할 수 없고 다만 노티피케이션의 contentIntent 를 펜딩인텐트로 설정하는 방법으로
겟액티비티나 겟브로드캐스트, 겟서비스 로 각각 수행할 액티비티, 브로드캐스트, 서비스를 시작하게끔 하는 것 외에는 없는 것으로 보여지고 있다.
당연한 것이 노티피케이션의 주 임무가 공지라는 점을 감안하면 당연할 것이다.
또한 노티피케이션이 온고잉에서 보여지므로 이 점을 생각하면 안되는게 정석이다.
차라리 노티피케이션을 보여주는 액티비티가 있는데 거기에 넣어주는 것이 나을 것 같다. 브로드캐스트나 서비스를 감지해서 처리해주면 될 것으로 보인다.
노티피케이션이 아니지만 노티피케이션 처럼 보이게 하는 것이다.
frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar
분석한 결과대로라면,
프레임워크를 수정하지 않고서는 절대 불가능하다고 보고 있다.
이유는 노티피케이션이 가지는 이벤트 수용 영역이 뷰 전체를 영역으로 하기 있기 때문에
어떤 특정 버튼을 심는다거나 리스너를 넣는다 쳐도 터치 시에 감응하는 이벤트 영역은 항상 전체 뷰로 보고 있다.
따라서 어떤 이벤트도 수행할 수 없고 다만 노티피케이션의 contentIntent 를 펜딩인텐트로 설정하는 방법으로
겟액티비티나 겟브로드캐스트, 겟서비스 로 각각 수행할 액티비티, 브로드캐스트, 서비스를 시작하게끔 하는 것 외에는 없는 것으로 보여지고 있다.
당연한 것이 노티피케이션의 주 임무가 공지라는 점을 감안하면 당연할 것이다.
또한 노티피케이션이 온고잉에서 보여지므로 이 점을 생각하면 안되는게 정석이다.
차라리 노티피케이션을 보여주는 액티비티가 있는데 거기에 넣어주는 것이 나을 것 같다. 브로드캐스트나 서비스를 감지해서 처리해주면 될 것으로 보인다.
노티피케이션이 아니지만 노티피케이션 처럼 보이게 하는 것이다.
frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar
StatusBarService.java 파일의 함수 중 makeStatusBarView() 함수를 보시게 되면 정의된 뷰 xml 을 findViewById로 구성하는 것을 볼수 있다.
StatusBar 의 확장이 되었을 때의 xml도 구성되어있다.
codeNxml.java 파일의 status bar xml 내용의 scrollview 에 custom Layout 을 넣어서 영구적인 Layer를 얻은 다음,
preference 로 값을 가져와 Notification을 처리하면 가능할 것으로 보인다. 아니면 service나 broadcast를 통해서도 가능하다
'Android Development' 카테고리의 다른 글
[Canvas] Canvas , Bitmap, BitmapFactory, drawable 관련 종합 정리. (0) | 2011.08.18 |
---|---|
[Build] android full source & valgrind (0) | 2011.07.09 |
Android Market 과 app 간의 하드웨어 권한 설정. (0) | 2011.07.09 |
[View] public class View's Tag (0) | 2011.04.25 |
[Android] Handler Thread looper (0) | 2011.03.08 |