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 に答える