如何从 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
我像这样向意图添加额外内容:
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