-1
我不斷收到以下錯誤:廣播接收機空指針的Android
> java.lang.NullPointerException: Attempt to invoke virtual method 'void android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent)' on a null object reference
當我嘗試從我的服務類接收廣播。
服務:
@Override
public void onDestroy(){
super.onDestroy();
Intent intent = new Intent("UpdateLocation");
intent.putExtra("Location",journ);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
這是代碼發送廣播發送自定義對象(Journ)到我的主要活動。
主營:
@Override
protected void onCreate(Bundle savedInstanceState)
LocalBroadcastManager.getInstance(this).registerReceiver(
mReceiver, new IntentFilter("UpdateLocation"));
//Listen for service to send location data
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
temp= intent.getExtras().getParcelable("Location");
}
};
}
@Override
public void onPause() {
if (!tracking) {
finish();
}
//Run service in background to keep track of location
startService(new Intent(this, locationService.class));
super.onPause();
}
@Override
public void onResume() {
if (!tracking) {
return;
}
if (mGoogleApiClient != null) {
//Reconnect to google maps
mGoogleApiClient.reconnect();
}
stopService(new Intent(this, locationService.class));
super.onResume();
}
我不知道如何去這樣做,我想從它運行我的服務類傳遞對象時,我的應用程序在後臺運行,當它恢復服務應該停止並將收集的數據發送給我的主要活動。
但是,這不起作用,有什麼想法?
如果人們想知道我的創建方法確實包含更多的代碼,但我認爲沒有必要包含它。