如何从 RemoteViewsService 中的意图访问额外内容?

Posted

技术标签:

【中文标题】如何从 RemoteViewsService 中的意图访问额外内容?【英文标题】:How do I access the extras from an intent in RemoteViewsService? 【发布时间】:2015-02-27 23:51:54 【问题描述】:

我为这样的意图添加了额外内容:

Intent adapterIntent = new Intent(context, MyRemoteViewService.class);
adapterIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, currentWidgetID);
adapterIntent.setData(Uri.parse(adapterIntent.toUri(Intent.URI_INTENT_SCHEME)));
views.setRemoteAdapter(R.someLV, adapterIntent);

在 MyRemoteViewService.java 中,我尝试像这样获取小部件 ID:

@Override public RemoteViewsFactory onGetViewFactory(Intent intent) 
    String currWidgetID = intent.getData().getPath();

我使用 getData() 而不是 getExtras() 因为它总是返回 null。

【问题讨论】:

【参考方案1】:

我认为您的意图是在 widgetProvider 中设置“widget_id”并在尝试此操作后进入 RemoteViewsService 类

Intent.putExtra(name, value) //set the data
intent.getIntExtra(name, defaultValue)//get data

【讨论】:

以上是关于如何从 RemoteViewsService 中的意图访问额外内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 RemoteViews 中的文本大小

从 AsyncTask 填充 ListView 的 Android 小部件

用于内容的 Widget RemoteViewsFactory 中的 Android 权限拒绝

屏幕小部件中 ListView 中的图像混合在一起

单击按钮刷新时如何刷新小部件列表视图?

带有 ListView 自定义项的 Android 小部件