サービスクラスからBundleを使用してメインアクティビティにデータを送信していますが、送信nullです。インテントを使用してサービスからアクティビティへデータを送信中にヌルポインタ例外が発生しました。
サービスクラス
Intent intent = new Intent(LocationService.this, MainActivity.class);
Bundle b = new Bundle();
b.putString("final_address", addressText);
intent.putExtras(b);
startActivity(intent);
主な活動
Intent intentReceived = getIntent();
Bundle b = intentReceived.getExtras();
address = b.getString("final_address");
私はまた、放送メッセージを介してそれを送信しようとしたが、それは以下のtoo.See失敗しました:
サービスクラスを
public static final String ADDRESSIDENTIFY = "address_identify";
public static final String ADDRESS_PATH = "address_path";
Intent intent = new Intent(ADDRESSIDENTIFY);
intent.putExtra(ADDRESS_PATH, addressText);
sendBroadcast(intent);
主な活動
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
address = bundle.getString(LocationService.ADDRESS_PATH);
}
}
};
と作成
registerReceiver(receiver, new IntentFilter(LocationService.ADDRESSIDENTIFY));
に主な活動でこれを呼び出して、私はあまりにもマニフェストでサービスを宣言しました。
<service
android:name="com.gampzz.bhojannearby.LocationService"
android:enabled="true">
</service>
どうすればよいですか?私は間違っていますか?
シェアログ猫のクラッシュレポート –
必要''サービス 'から ''活動' 'にデータを取得する ''放送受信機 ''も、マニフェストであなたの ''受信者'を宣言します! –
@SadiqMdAsif私にそうするためのリンクを送ってください。 –