서로 다른 패키지에 있는 서비스끼리 통신을 위해 인텐트를 활용하고 있습니다.
서비스 B에서 주는 정보를 서비스 A에서 인테트를 통해 받는 형태로 구현 중 입니다.
근데 스마트폰(베가폰)에 모든 패키지를 인스톨한 후 디버깅하지 않고 바로 실행시키면 데이터를 받지 못합니다.
하지만, DDMS 디버거를 활용하여 디버깅해보면 인텐트를 통해 데이터가 정상적으로 받아지는 것을 확인할 수 있는데요.
이런 경우는 어떤 부분이 문제가 되는 것인지요.
고수님들의 답변 부탁드립니다.
서비스 A에서 등록한 리시버를 통해 서비스B에서 던져주는 데이터를 받고 있습니다.
IntentFilter filter = new IntentFilter();
filter.addAction("LocationInfo");
registerReceiver(mReceiveBR, filter);
BroadcastReceiver mReceiveBR = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String locstr = null;
locstr = intent.getStringExtra("loc_info");
Toast.makeText(DevService.this, locstr , Toast.LENGTH_SHORT).show();
}
};
서비스 B에서는 서비스 A에게 데이터를 보내줍니다.
Intent gpsConfInfoInt = new Intent();
gpsConfInfoInt.putExtra("loc_info", str3);
gpsConfInfoInt.setAction("LocationInfo");
sendBroadcast(gpsConfInfoInt);
제가 찾고 있던 부분인데... 님께서 올려주신 소스코드 보고 전 잘 해결이 되었네요. 감사합니다.
삼성 갤럭시 네오에서 확인해보니 잘 되네요.