Android:context.startActivity在重新启动后无法启动预期的活动,它只是打开应用程序

时间:2016-06-28 10:10:54

标签: android android-intent

我正在使用第三方库来接收推送通知。我成功地使推送服务自动启动并在手机重启后接收消息。但重新启动后,单击通知无法打开预期的活动,它只是打开应用程序。如果我在点击通知之前打开了应用程序,这将很有效。
以下是我在点击通知时启动活动的代码:

Intent i = new Intent(context, MsgDetailActivity.class);
i.putExtra("msg_id", msgId);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);

修改
单击通知时,lib将发送广播。我已经注册了一个接收器来接收这样的广播:

if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())){
            //use the code above to open my acticity

   }

这是我的测试结果:

  1. 重启手机 - >打开我的应用 - > (退出我的应用程序,或不) - >收到通知 - >点击通知 - >打开预期的活动(预期)
  2. 重启手机 - >收到通知 - >点击通知 - >只需打开我的应用程序,而不是预期的活动。 (没想到)

1 个答案:

答案 0 :(得分:0)

我认为你没有发送" content-available:true"从服务器。 在"数据"中添加您的信息有效载荷。 并在开始活动时

       onCreate(Bundle b){
           onNewIntent(getIntent());
         }
       onNewIntent(Intent intent){
        Bundle bundle=intent.getExtras();
         //bundle contains your data payload here.
       }