4

Jelly Bean のロック画面でウィジェットを有効にしたい (Nexus 7、Android 4.2.1)

私の問題はonReceive()、ロック画面からウィジェットを削除しても呼び出されず、追加/削除するのと同じ数のゴースト ウィジェットが作成されることです。

ホーム画面では正常に動作しますが (ウィジェットを削除してonReceive()呼び出され、それonDelete()が最後のウィジェットの場合onDisable())、ロック画面では動作しません。

ロック画面onReceive()で が呼び出され、APPWIDGET_ENABLEDそれだけです。APPWIDGET_UPDATEAPPWIDGET_UPDATE_OPTIONS

ウィジェットをロック画面に配置するには、ウィジェットに追加android:widgetCategory="home_screen|keyguard"してロック画面でテストするだけです

4

2 に答える 2

2

Jelly Bean のロック画面ウィジェットでも同じ経験がありました。onReceive()、onDelete()、および onDIsable() が呼び出されることはなく、ウィジェットはロック画面から削除した後も更新され続けます。Galaxy Nexus (4.2.1) と Nexus 7 (4.2.1) の両方で同じ動作です。ゴースト ウィジェットは再起動後に消えます。

組み込みのロック画面ウィジェットの動作に関係している可能性があります。削除すると、時計が再び表示されます。

これがいつかドキュメントで明確になることを願っています。

于 2012-12-09T21:04:03.113 に答える
0

これを試してみてください

「AppWidgetProvider は、(ホストとプロバイダーの間で) アプリ ウィジェットを調整するコア OS プロセスがそれと通信できるように、エクスポートする必要があります。したがって、android:exported="false"不適当です。
正直に言うと、私はプロバイダーで何も動作しないことを期待していました。一部のイベントだけではありません。」

コモンズウェア

https://stackoverflow.com/a/22719694/4683601

        <receiver 
            android:name=".AppWidgetBarProvider"
            android:exported="true"
            >

            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/appwidget_bar_info" />
        </receiver>
于 2016-02-26T12:49:41.573 に答える