当前位置: 首页 > 知识库问答 >
问题:

Android bundle from pending intent始终作为null接收

费锋
2023-03-14

我尝试了stackOverflow中的所有建议--没有任何帮助。通知工作良好,它只是丢失了它的捆绑。

以下是我的悬念:

 NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

            Intent intent = new Intent(this, LoginActivity.class);
         //   Intent intent = new Intent().setClass(this, LoginActivity.class);
            intent.putExtra(Constants.KEY_BUNDLE_MESSAGE_FROM_NOTIFICATION,true);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);


            //intent.setAction("dummy");

            PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

            NotificationCompat.Builder noBuilder = new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle(title)
                    .setContentText(text)
/*                    .setStyle(new NotificationCompat.BigTextStyle()
                            .bigText(message))*/
                    .setAutoCancel(true)
                    .setContentIntent(contentIntent);

            notificationManager.notify(0, noBuilder.build());
 @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Log.d(TAG, "im in login from notification!   "+ intent.hasExtra(Constants.KEY_BUNDLE_MESSAGE_FROM_NOTIFICATION));
    }


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    Intent intent = getIntent();
    Log.d(TAG, "im in login from notification!   "+ intent.hasExtra(Constants.KEY_BUNDLE_MESSAGE_FROM_NOTIFICATION));

}

有什么想法吗?谢谢!

共有1个答案

祝宾白
2023-03-14

OnNewIntent中添加:SetIntent(intent)

 类似资料:
  • 问题内容: 我正在编写一个C#ASP.Net MVC应用程序,供客户端将文件发布到其他服务器。我正在使用通用处理程序来处理从客户端到服务器的发布文件。但是在我的处理程序中,System.Web.HttpContext.Current.Request.Files始终为空(0个计数)。 表格代码: 处理程序: 请帮我。谢谢。 问题答案: 最后,我发现了问题。 由于某些原因,控制器中的代码永远无法正常工

  • 问题内容: 我使用firefox 3.6.10和firebug进行调试 所以,这是我的代码: responseXML 始终为null,我已经尝试了来自不同域的多个URL。我也异步地尝试过,结果是一样的。该 responseText的 总是正确返回,与它没有任何问题。 我的目标是获取 responseXML.documentElement 。 谢谢你的帮助。 编辑----------- 此javas

  • 问题内容: 我最近已经从Elasticsearch 1.7切换到2.0,我注意到您设置客户端的方式已经改变。我仔细阅读了文档,由于某种原因,客户端始终为空。我想知道我是否正确设置了它。 这是我的代码: 问题答案: 如评论中所述,但有一些更详细的信息:Elasticsearch 2.0使用Guava 18.0(请参阅https://github.com/elastic/elasticsearch/p

  • 问题内容: 我将尝试使用JavaFX 2,并使用一个简单的演示应用程序。该项目包括3个文件,即Main.java,Controller.java和sample.fxml。 在Sample.fxml中,我声明了控制器: 在我的Main.java中,我尝试访问控制器 所以我的第一个想法是映射不起作用。因此,我在控制器中添加了一个initialize方法。 现在的输出是: 在里面 空值 所以我现在的问题

  • 问题内容: 当我使用下面的ajax调用下面的Post方法时,为什么参数总是为null? 这是通过ajax对Web API方法的调用: 问题答案: 基本上,您只能有一个标量类型的参数,该参数用属性装饰,并且您的请求需要使用,并且POST有效负载应如下所示: 请注意,与标准协议相反,缺少参数名称。您仅发送值。 您可以在中阅读有关Web Api中的模型绑定如何工作的更多信息。 但是,当然,这种黑客入侵是

  • 问题内容: 我正在尝试使用Firebase Firestore在Android客户端中添加时间戳字段。 根据文档: 用于标记要用服务器时间戳填充的日期字段的注释。如果正在写入的POJO包含@ServerTimestamp注释的字段为null,它将被服务器生成的时间戳替换。 但是当我尝试时: 在Cloud Firestore数据库上,此字段始终为null。 问题答案: 这不是将时间和日期添加到Clo