728x90

Home Screen에 띄우는 위젯을 만들려고 한다.

버튼을 클릭하면 클릭하는데로 위젯의 화면이 바뀌게 하려고 하는데 Activity에서는 view객체를 findViewById()함수로 Button에 캐스팅하고 getText()라거나 setText()를 써서 가능할 것이라 생각했는데 안된다.


삽질을 하다보니 알게되었는데 위젯의 기능을 정의하는 class가 액티비티를 extends를 하고 있지 않아 findViewById()가 사용이 불가능하다.

그럼 어찌할까 또 삽지를 하다보니 알게된 사실

Button Click Event 처리를 setOnClickPendingIntent가 할 수 있다는 것

구글바다에 검색해보면 PendingIntent함수를 사용하여 새로운 액티비티창을 띄워주는 간단한 예제를 발견할 수 있다. 그게 끝이다

따라 해보았는 데 결국 그것만 하다 끝났다.....


젠장...


그래서 어찌 하리 왜 내가 생각하는게 안 될까 분명 될텐데 생각하다 결국 apk 디컴파일을 했다.

찾아보니 위에서 했던 setOnClickPendingIntent함수로 하는 것이 맞았고 그 처리를 get~~Service가 하는 것으로 보았으나

내가 Intent에 관한 내용이나 PendingIntent에 대한 내용을 정확하게 몰라서 방법은 찾았다하나 적용이 불가능하다..


시간을 두고 찾아보고 해봐야할듯... 성공하면 여기다 다시 코드를  올려볼 생각이다.


반응형

+ Recent posts