基本上我正在尝试使用新数据打开已经处于活动状态的活动。我已通过通知向Pendingintent添加了Bundle和附加功能。但是我无法获得活动中的更新值。 这是我的代码
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);
OnSesume()在调用MyActivity中,但id值是旧的' 1111'
@Override
protected void onResume() {
super.onResume();
if (getIntent().hasExtra("id")) {
Log.e("id", getIntent().getStringExtra("id"));
}
}
但它会返回' 1111'
请给我一个解决方案。
答案 0 :(得分:0)
在尝试获取新值之前,请再次尝试调用getIntent()。getExtras()。这应该更新额外的值。
答案 1 :(得分:0)
尝试使用onNewIntent
public void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
setIntent(intent);
if(intent.getExtras()!=null)
{
String id = intent.getExtras().getStringExtra("id");
updateValues(id);
}
}