내가 IntentService
와 함께 활동에 서비스에서 방송을 보내려고했습니다라는 안한다 클래스처럼 :onReceive 방법은 그것을 위해 나는 다음과 같은 코드를 사용했습니다,
public BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("TAG", "receiver");
Bundle bundle = intent.getExtras();
if (bundle != null) {
int resultCode = bundle.getInt(NotifyService.RESULT);
if (resultCode == RESULT_OK) {
Toast.makeText(Home.this, "after service work.", Toast.LENGTH_LONG)
.show();
}
}
stopService(new Intent(Home.this,NotifyService.class));
}
};
나는 onPause
방법 onResume
에서 registerReceiver
및 unregisterReceiver
을 사용했습니다
registerReceiver(receiver, new IntentFilter(NotifyService.NOTIFICATION));
그러나 onReceive
메서드가 호출 가져 오지는
내가 놓친 것을 This Site
제 7 사용했습니다?
편집
내가 어떤 대체 솔루션 있었나요? 서비스에서 데이터를 업데이트하기 위해 활동을 알리려고했습니다.
서비스가 시작 되었습니까? 'Log.d ("onHandleIntent", "start service"); '이 로그가 인쇄 되었습니까? –
예 @ArtemZinnatullin –
수신자가 등록되지 않은 경우 BroadCast 인 텐트를 보낼 수 있습니까? 귀하의 코드가 정상적으로 보이기 때문에 : –