URI方案定义?

时间:2011-04-06 02:17:19

标签: java android

我正在使用本教程:http://www.developer.com/ws/article.php/10927_3833306_2/Creating-a-Home-Screen-App-Widget-on-Android.htm

它包含以下代码:

   widgetUpdate.setData(
   Uri.withAppendedPath(Uri.parse(
   ImagesWidgetProvider.URI_SCHEME + "://widget/id/"), 
   String.valueOf(appWidgetId)));

我的问题是,应该将URI_SCHEME定义为什么以及在哪里?

2 个答案:

答案 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)