如何将参数从通知点击发送到活动?

如何将参数从通知点击发送到活动?,第1张

我可以从我的通知中找到一种将参数发送到我的活动的方法。

我有一个创建通知的服务。当用户单击通知时,我想使用一些特殊参数打开我的主要活动。例如,一个项目
ID,所以我的活动可以加载并呈现一个特殊的项目详细信息视图。更具体地说,我正在下载一个文件,当文件被下载时,我希望通知有一个意图,即当点击它时,它会以特殊模式打开我的活动。我试图按照putExtra我的意图使用,但似乎无法提取它,所以我认为我做错了。

我的服务中创建通知的代码

        // construct the Notification object.     final Notification notif = new Notification(R.drawable.icon, tickerText, System.currentTimeMillis());    final RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.custom_notification_layout);    contentView.setImageViewResource(R.id.image, R.drawable.icon);    contentView.setTextViewText(R.id.text, tickerText);    contentView.setProgressBar(R.id.progress,100,0, false);    notif.contentView = contentView;    Intent notificationIntent = new Intent(context, Main.class);    notificationIntent.putExtra("item_id", "1001"); // <-- HERE I PUT THE EXTRA VALUE    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);    notif.contentIntent = contentIntent;    nm.notify(id, notif);

我的活动中尝试从通知中获取额外参数的代码:

 public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    Bundle extras = getIntent().getExtras();    if(extras != null){        Log.i( "dd","Extra:" + extras.getString("item_id") );    }

extras 总是空的,我从来没有在我的日志中得到任何东西。

顺便说一句…onCreate仅在我的活动开始时运行,如果我的活动已经开始,我还想收集额外内容并根据收到的 item_id 展示我的活动。

有任何想法吗?

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/read/1369971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-15
下一篇 2022-06-15

发表评论

登录后才能评论
保存