마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

AppWidgetProvider 를 상속하는 코드에서는 어떻게 데이터 공유받나요?

0 추천
액티비에서 계산한 결과를 위젯에 출력하려고 합니다

Activity 간에는 intent 이용해서 데이터를 공유했는데

AppWidgetProvider 을 상속하면 ( Activity를 상속하지 않으면 ) getIntent 를 쓸 수 없나봐요 ㅠㅠ

다른 메소드가 있나요?
지여니 (580 포인트) 님이 2013년 8월 20일 질문

1개의 답변

0 추천
AppWidgetProvider는 BroadcastReceiver를 상속받았네여

sendBroadcast 를 이용해서 데이터를 전달할 수 있고

AppWidgetProvider쪽에서는 onReceive 를 오버라이드 하셔서

넘어오는 파라미터에서 intent를 이용해서 값을 전달받을 수 있습니다.
Gradler (109,780 포인트) 님이 2013년 8월 20일 답변
데이터를 전달하는 엑티비티에서
Intent intenter = new Intent();
intenter.setAction(Intent.ACTION_DEFAULT);
intenter.putExtra("number", number);
getBaseContext().sendBroadcast(intenter); 라 쓰고,
앱위젯프로바이더 쪽에서는 result = intent.getAction(); 라 썻어요
근데 데이터가 전달이 안됬습니다ㅠㅠ 어디가 문제죠..?
인텐트를 생성할때 목적지가 있어야 하는데 비어있는 인텐트로
생성하셨습니다.
new Intent(앱위젯프로바이더에 설정한 인텐트필터);
이렇게 해주셔야 앱위젯프로바이더가 인텐트를 받을 수 있습니다.
...