如何从 RemoteViewsService 中的意图访问额外功能?

How do I access the extras from an intent in RemoteViewsService?

我像这样向意图添加额外内容:

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。

我认为您的意图是在 widgetProvider 中设置 "widget_id" 并进入 RemoteViewsService class,尝试一下

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