ConfigurationActivity を持つウィジェットを実装しており、Eclair(2.1) との互換性を維持する必要があります。
AppWidgetProviders メソッドに関するドキュメントにonUpdate
は、次のことが明確に記載されています。
... .ただし、構成アクティビティを宣言した場合、このメソッドは、ユーザーがアプリ ウィジェットを追加するときに呼び出されませんが、その後の更新のために呼び出されます。構成が完了したときに最初の更新を実行するのは、構成アクティビティの役割です。(以下の「アプリ ウィジェット構成アクティビティの作成」を参照してください。)
残念ながら、これは真実ではありません (少なくとも JellyBean を搭載した私の Nexus S では)。実際、ConfigurationActivity トリガーの前onUpdate
に呼び出されます。他の電話でも同様の動作があるかどうか、およびプロバイダー内での通話を防ぐことができるかどうかを知りたいですか? onCreate
onUpdate
私の回避策は、その特定の AppWidgetId を使用して、WidgetConfigurationActivity 内の SharedPreferences にフラグを格納することです。そこにない場合は、ConfigurationActivity が最初に呼び出されていないと推測できます。これは機能しますが、私の観点では本当に醜いです。onUpdate
トリガーを防ぐことができない場合、より良い解決策はありますか?