将 PendingIntent 中小部件的附加信息传递给 Activity
Posted
技术标签:
【中文标题】将 PendingIntent 中小部件的附加信息传递给 Activity【英文标题】:Passing extras from widget in PendingIntent to Activity 【发布时间】:2015-03-30 23:42:21 【问题描述】:我找不到将附加组件从小部件正确传递到 Activity
的方法。
我不想在按钮点击时打开活动并传递了一些额外内容。
Intent intent = new Intent(context, CreateOperationsActivity.class);
intent.putExtra("someKey", true);
PendingIntent pendingIntent = PendingIntent.getActivity(context, Constants.RequestCodes.CREATE_OPERATIONS, intent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.add_expense_button, pendingIntent);
Activity打开了,但是Intent
里面没有多余的。
我能够传递额外内容的唯一方法是将PendingIntent
标志设置为PendingIntent.FLAG_ONE_SHOT
,但小部件按钮只能工作一次,进一步单击它不会采取任何行动。
如何做到这一点,以便Activity
拦截额外的并且按钮每次都有效?
【问题讨论】:
我遇到了同样的问题,但我将这些值放在共享存储中并从活动中获取这些值而不是 bcz 在这里我们不能在意图中添加额外的内容 是的,我知道我可以做到,但这只是磨蹭我的齿轮......我不想正确地做到这一点 我也卡在那个点上,没有得到正确的答案 【参考方案1】:您的 Intent 可能缺少 setAction()
;)请参阅此以获得更好的解释:https://***.com/a/3128271/515423
【讨论】:
它没有帮助,但动作被正确传递,与额外内容相反......所以可以使用动作来解决问题。然而它并不干净以上是关于将 PendingIntent 中小部件的附加信息传递给 Activity的主要内容,如果未能解决你的问题,请参考以下文章
Android PendingIntent 启动Activity