0

当我更改我的小部件提供程序的命名空间时,小部件变为空白并且在我删除它并再次添加之前不起作用。

如何在不破坏已放置的小部件的情况下更改小部件的名称空间和接收器名称。

改名前:

    <receiver android:name="com.creativitality.labs.timezoneswidget.WidgetProvider" android:label="@string/widget" >
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>

    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/widget_info_large" />
</receiver>

移动和重命名提供程序后:

    <receiver android:name="com.creativitality.labs.timezoneswidget.widget.WidgetLarge" android:label="@string/widget_4x1" >
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>

    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/widget_info_large" />
</receiver>
4

1 回答 1

0

对于活动,您可以在清单中创建一个<activity-alias>指向新名称的元素<activity>

没有针对接收器的解决方案。<receiver-alias>不存在。您的接收器必须永远保留其原始名称,否则它将损坏。

于 2013-12-15T09:16:18.410 回答