2017-03-15 7 views
0

にonStartCommandにnullであります一部のデータがバンドルにありますが、そのマップはここ地図は、私は、次のコードをいくつかのデータを渡すことによってサービスを開始しようとしていますサービス

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 

    Bundle bundle = intent.getExtras(); 
    if (bundle != null) { 
     final long duration = bundle.getLong(DURATION, 0l); 

nullであることは、以下のコを使用 the debug mMap values here

答えて

1

、私はonStartCommandでの戻り値の型がSTART_REDELIVER_INTENTべきであることがわかりました。それは何度も意図が失われ、伝えられないからです。したがって、この戻り値の型は、データを取得する必要があるので、それを強制的に再配信します。コードは、次のされています

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 

    Bundle bundle = intent.getExtras(); 
    if (bundle != null) 
     final long duration = bundle.getLong(DURATION, 0l); 

    return START_REDELIVER_INTENT; 
} 
0

こんにちはをデバッグする方法をバンドルルックスですdeを使用してインテントをデータとともに送信します。闘争の多くの後

Intent countDownTimerIntent = new Intent(getActivity(), CountDownTimerService.class); 
    countDownTimerIntent.putExtra(CountDownTimerService.DURATION, ((Test) mcqDataSet).getDuration()); 
    getContext().startService(countDownTimerIntent); 
+0

私もこの方法を試してみましたが、それはまだ闘争の多くの後にヌル –

+0

としてデータを与えている、私はonStartCommandでの戻り値の型がSTART_REDELIVER_INTENTでなければならないことが分かりました。それは何度も意図が失われ、伝えられないからです。 @RaghavPai –

関連する問題