ブロードキャストレシーバーの内部で、アプリ(アクティビティ)を開始してデータを渡したいと考えています。アクティビティの開始時にインテントエキストラが表示されない
私の問題は、エクストラがアクティビティに引き継がれていないようです。私はonNewIntent(Intent i)
機能内のデータを取得しようとしています。
アイデア?ここで
はBroadcastReceiverで私の現在の試みです:
Intent intSlider = new Intent();
intSlider.setClass(UAirship.shared().getApplicationContext(), SliderMenuActivity.class);
intSlider.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intSlider.putExtra("action", ScreensEnum.Object);
intSlider.putExtra("objectId", objectId);
intSlider.putExtra("objectCode", objectCode);
intSlider.putExtra("userId", userId);
UAirship.shared().getApplicationContext().startActivity(intSlider);
EDIT - を追加しましたonNewIntent(で使用されるコード)とのonCreate()
次のコードは、onCreate()
で素晴らしい作品アプリが現在実行されていないときアプリが既に動作しているときは、onNewIntent()
機能の同じコードが機能しません(つまり、追加機能はありません)。
Intent intent = getIntent();
if(intent.hasExtra("objectId")) {
loadDetail(intent.getStringExtra("objectId"), "2w232");
}
は 'onNewIntent'メソッドが呼び出されていますか? 'launchMode'は' SliderMenuActivity'に何を指定しましたか? –
こんにちは、はいonNewIntent()が呼び出されます。 launchModeはsingelTaskです。 – conor
その後、 'onNewIntent'メソッドを投稿できますか? –