現在、私のアプリケーション用のアプリウィジェットをいくつか作成しています。それらの1つは、60秒ごとに更新が必要な時計を含むウィジェットです。したがって、私はappWidgetProviderのonEnabled()関数でアラームを生成します。この関数は、appwidgetproviderによって受信されるクロックアップデートのインテントを60秒ごとに送信します。これは魅力のように機能しますが、私は物事をきれいに保つのが好きなので時計のウィジェットがなくなったらタイマーを取り除くのが好きです。したがって、AppWidgetProviderのonDisabled()関数でアラームを削除します。これは、ウィジェットタイプの最後が削除されたときに呼び出されるためです。AppwidgetのIDはありますが、ウィジェットはありません
しかし、最後のウィジェットを削除しても、appwidgetmanagerにはまだwidgetIdsが残っているため、onDisabled()は呼び出されません。私は、デバイスを再起動しようとしましたが、それらは持続するようです。
これは一般的な動作で、onDisabled()が呼び出されているか、バグですか、何か間違ったことをしていますか?
お返事ありがとうございます。 - APIレベル5以上で開発していますので、API5のゴーストウィジェットのバグは問題ではありません。申し訳ありませんが、これは明確ではありません。 - だから私のウィジェットは、画面が消えたときに更新されず、 – MrJre
私はそれについてさらに読んで、問題はまだ現バージョンにあるようだ。これは2年前からGoogleに知られているバグです:( – Mark
さらに詳しく調べてみると、ウィジェットの設定作業がキャンセルされたときに起こります。http://stackoverflow.com/questions/4393144/widget-not-deleted-when-passing -result-cancellation-as-result-for-configuration-activ – MrJre