它包含以下代码:
widgetUpdate.setData(
Uri.withAppendedPath(Uri.parse(
ImagesWidgetProvider.URI_SCHEME + "://widget/id/"),
String.valueOf(appWidgetId)));
我的问题是,应该将URI_SCHEME定义为什么以及在哪里?
答案 0 :(得分:1)
您可以将uri方案的值定义为应用程序的一些UNIQUE字符串。
必须在你的menifest文件中定义: 示例here
<receiver
android:name="ImagesWidgetProvider">
<intent-filter>
<action
android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<data android:scheme="my_widget_scheme" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/imageswidget_info" />
</receiver>
然后,为方便起见,您可以将该值放在代码的某个变量中(如果静态最终的话,则更好): 查看here
public static final String URI_SCHEME = "my_widget_scheme";
请注意,manifest xml中的UNIQUE方案字符串定义是强制性的。类成员变量中的定义不是强制性的。但是,这是一个非常非常好的做法。
答案 1 :(得分:0)