0

我有一个通知屏幕。当收到通知并点击通知时,它将导航到特定屏幕。问题是当我在通知屏幕中并且我收到新通知时,新意图正在返回旧数据。我是从通知中获得的号码调用网络服务。因此我被卡住了。任何人都可以帮助我。下面是代码

 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);
            }
4

1 回答 1

1

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

}
于 2019-08-04T10:11:02.893 回答