aku*_*pun 5 configuration android widget android-appwidget
将窗口小部件的配置活动添加到主屏幕后,如何重新打开它?
Google搜索中的以下代码不起作用,因为多余的小部件ID不会传递到活动中:
String ACTION_WIDGET_CONFIGURE = "ConfigureWidget";
Intent configIntent = new Intent(context, Configuration.class);
configIntent.setAction(ACTION_WIDGET_CONFIGURE);
configIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent configPendingIntent = PendingIntent.getActivity(context, 0, configIntent, 0);
views.setOnClickPendingIntent(R.id.editButton, configPendingIntent);
Run Code Online (Sandbox Code Playgroud)
小智 5
好吧,我晚了一年,但我只是在寻找与您相同的答案,并注意到您的代码中缺少一个标志,这是我几天前遇到的关于待决意图、附加内容的另一个问题的答案和小部件。尝试更改这行代码:
PendingIntent configPendingIntent
= PendingIntent.getActivity(context, 0, configIntent, 0);
Run Code Online (Sandbox Code Playgroud)
对此:
PendingIntent configPendingIntent
= PendingIntent.getActivity(context, 0, configIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)
PendingIntent将重用与新意图匹配的现有缓存意图,并且“匹配”不考虑额外内容,因此可以忽略新的额外内容。添加FLAG_UPDATE_CURRENT使得将PendingIntent附加内容写入缓存的意图(或类似的东西)中。
不管怎样,上面的内容现在对我有用(尽管我也用作AppWidgetManager.ACTION_APPWIDGET_CONFIGURE操作名称,如果这有什么区别的话)。
不幸的是,您不这样做:当前存在的小部件规范不支持通过小部件配置活动重新配置小部件。
您可以做的是启动小部件配置活动并手动跟踪特定的小部件 ID:新设置到位后,您可以使用适当的管理器方法手动更新小部件。但是,您将无法使用与新小部件相同的代码路径。
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |