基本的には、すでにアクティブなアクティビティを新しいデータで開こうとしています。通知からPendingintentにバンドルを追加しました。しかし、私は活動の更新された値を得ることができません。 は、ここに私のコード次回に同じアクティビティを呼び出すときにPendingintentから更新されたエキストラを受け取ることができません
Intent in = new Intent(c, HomePageActivity.class);
Bundle bundle = new Bundle();
bundle.putBoolean("id", "1234");
in.putExtras(bundle);
in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_NEW_TASK);
in.setAction(Long.toString(System.currentTimeMillis()));
PendingIntent pi = PendingIntent.getActivity(c, 0, in,
PendingIntent.FLAG_UPDATE_CURRENT);
と呼ばMyActivityでOnResume()である、しかし、id値は、古い '1111'
@Override
protected void onResume() {
super.onResume();
if (getIntent().hasExtra("id")) {
Log.e("id", getIntent().getStringExtra("id"));
}
}
ですが、それは私に与えてください
'1111' を返します解決策。
なぜputboolean代わりputIntやputStringのを使用してみてください? –