onNew 意图 returns 旧数据
onNew intent returns old data
我有一个通知屏幕。当收到通知并且我点击通知时,它将导航到特定的 screen.The 问题是当我在通知屏幕中并且我收到新通知时的新意图正在返回旧 data.I 我正在从通知中获取的号码调用网络服务。因此我被卡住了。任何人都可以帮助 me.below 是代码
notificationIntent.putExtra("from","notification");
notificationIntent.putExtra(Constants.NUMBER,task);
notificationIntent.setAction(Long.toString(uniqueInt));
notificationIntent.addCategory(taskNumber);
PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(), notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
并在 onNewIntent
if(null != getIntent() && getIntent().getExtras() != null){
if(getIntent().getExtras().containsKey(Constants.NUMBER))
{
String taskNumber = getIntent().getExtras().getString(Constants.NUMBER);
if(null != taskNumber)
{
taskNumber = getIntent().getExtras().getString(Constants.NUMBER);
loadTasks(taskNumber);
}
onNewIntent
有新的意图作为参数。所以你可以直接使用它,也可以将它设置为 starter Intent 。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent); // Optional if you want set it as starter intent
// Do your stuff with `getIntent()` OR intent
}
我有一个通知屏幕。当收到通知并且我点击通知时,它将导航到特定的 screen.The 问题是当我在通知屏幕中并且我收到新通知时的新意图正在返回旧 data.I 我正在从通知中获取的号码调用网络服务。因此我被卡住了。任何人都可以帮助 me.below 是代码
notificationIntent.putExtra("from","notification");
notificationIntent.putExtra(Constants.NUMBER,task);
notificationIntent.setAction(Long.toString(uniqueInt));
notificationIntent.addCategory(taskNumber);
PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(), notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
并在 onNewIntent
if(null != getIntent() && getIntent().getExtras() != null){
if(getIntent().getExtras().containsKey(Constants.NUMBER))
{
String taskNumber = getIntent().getExtras().getString(Constants.NUMBER);
if(null != taskNumber)
{
taskNumber = getIntent().getExtras().getString(Constants.NUMBER);
loadTasks(taskNumber);
}
onNewIntent
有新的意图作为参数。所以你可以直接使用它,也可以将它设置为 starter Intent 。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent); // Optional if you want set it as starter intent
// Do your stuff with `getIntent()` OR intent
}