数秒前私は自分のウィジェットをデバッグしていましたが、onReceive
メソッドが呼び出されました。私のウィジェットがホーム画面にない場合でも(WIFI_STATE_CHANGED_ACTION
を聞きます)。私のウィジェットのプロセスが実行されていなくても、起動されメソッドが呼び出されます。 マニフェスト内のコード以下である:onReceiveが呼び出されないときに呼び出される
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<receiver android:name="WiFiWidget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_info" />
</receiver>
</application>
単に別の方法toggleState
を(無線LANの状態を変化させる)を呼び出し、その後、ウィジェット画像を更新onReceive
方法(画像オフからオン又は逆に )。
ウィジェットがホーム画面上で実際にアクティブでない場合は明らかに二つの方法toggleStateとupdateWidgetの呼び出し(およびその完全onReceive)は役に立たない。..
だから、私は私のonReceive
が場合にのみ呼び出さたいです私のウィジェットは効果的にホームスクリーンに置かれます。これを行う方法はありますか? :)
お返事ありがとうございました
この「BroadcastReceiver」の設定方法についてもう少し具体的に質問を編集できますか? – CommonsWare
あなたは正しい、申し訳ありません:) ..コードが追加されました。 – Salv0