Main 에서 BR class 로 Intent 날릴떄 이렇게 하면 안되나요???
Main Activity {
Intent intent = new Intent("state");
intent.putExtra("string","12345");
startService(intent);
}
BR class extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if( "state".equals(action))
{
String str = intent.getStringExtra("string");
System.out.println(str);
}
}
}
이렇게 하면 str 이 null 이 찎히 더라구요..............해결 방법좀 부탁드립니다.......
아 그런데요....... 제가 BR 에서는 받는 액션이 저것뿐만 아니라 구글 서버로 부터 "com.google.android.c2dm.intent.REGISTRATION"
이것과 "com.google.android.c2dm.intent.RECEIVE" 이것도 받고 있거든요......... 설마 이것과 연관이 있는 건가요...?
아 잘 못 적었네요...;; sendBroadcast 입니다,,,;;ㅎ
역시나 null 이 찎히는데요............ 제가 생각하기로는 지금 이 if 문이
if( "state".equals(action))
{
String str = intent.getStringExtra("string");
System.out.println(str);
}
사실은
else if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
if( "state".equals(action))
{
String str = intent.getStringExtra("string");
System.out.println(str);
}
}
이렇게 저것 안으로 들어 가거든요.... 그런데 액션을 받는 String action = intent.getAction(); 이것은 동일 하구요... 혹시 이것 때문에
문제 이지 않을까 싶은데...
startService로 인텐트를 보내고... 왜 브로드캐스트리시버로 받으려 하시나요... 브로드캐스트 리시버에는
sendBroadcast로 보낸 인텐트만 갑니다.