このイベントは保護されており、マニフェストから宣言できないため、BATTERY_CHANGEDイベントをリッスンするウィジェットがあります。アプリケーションコンストラクタから新しいBroadcastReceiverを作成します。マニフェストからインスタンス化されていなくても、ウィジェットBroadcastReceiverを生きたままにしてください
public void onCreate() {
super.onCreate();
if (DEBUG) Log.d(TAG, "onCreate()");
// Register receivers
if (receiver == null) {
receiver = new MYReceiver(this);
}
// Create new intentfilter
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(receiver, intentFilter);
}
次に、Receiverから、私はRemoteViewsを使ってウィジェットを実際に更新するAppWidgetProviderの静的メソッドを呼び出します。渡されたすべては私のレシーバが消えている時間が経過した後、1時間までflawlessyを動作し、ウィジェットはもう更新されません。私は私が間違ってやっている2.2.1 firmware-
とドロイドでこれをテストしていますか?このウィジェットを更新するための正しい方法です(私はその必要がない場合は、サービスを持ってしたくないので、私はちょうどそのイベントが必要)。私は私の受信機がまだあることを随時確認するためにAlarmManagerを使用する必要がありますか?私はこれをすることができますか?
ありがとうございました。
はい、それはそれは、ウィジェット受信機がアップし、まだの場合でも実行されますので、しかし、私は私がいた、これととてもきれいではないを行うには4-5分のタイマーを必要とする、私はこれを回避するために、これまで実施してきたソリューションですとにかく、より良い解決策を望んで、ありがとう。 – JohnUopini