私はApp Widget Articleからサンプルを作成しました。ここでは、Appウィジェットの更新サービスを使用しました。BroadcastReceiverのApp Appウィジェットのupdate()メソッド
私はプログラムウィジェットをカスタムインターバル(実行時間間隔)から更新したいと思います。
どうすればいいですか?
私はApp Widget Articleからサンプルを作成しました。ここでは、Appウィジェットの更新サービスを使用しました。BroadcastReceiverのApp Appウィジェットのupdate()メソッド
私はプログラムウィジェットをカスタムインターバル(実行時間間隔)から更新したいと思います。
どうすればいいですか?
ここでは、AppWidgetの更新イベントの作成を設定する方法の例を示します。あなたは、あなたの目的のためにそれをカスタマイズすることができます。
Intent intent = new Intent();
intent.setAction(ExampleAppWidgetProvider.MY_INTENT_ACTION);
Uri data = Uri.withAppendedPath (Uri.parse("wordwidget://wordwidget/widgetId/#"),
String.valueOf(mAppWidgetId));
intent.setData(data);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
ExampleAppWidgetConfigure.this, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis() + 10000, 10*1000, pendingIntent);
ます。また、アクション名と意図を受け取ることになりますあなたのBRのための追加のインテントフィルタを作成する必要があります。ExampleAppWidgetProvider.MY_INTENT_ACTION
UPDATE あなたのブロードキャストレシーバーあなたに
次に、定義済みのインテントフィルタで受信するインテントを作成します。私のケースでは、public static final String MY_INTENT_ACTION = "org.android.testwidget.MY_APPWIDGET_UPDATE";
異なるAppWidgetインスタンスごとに別々のインテントを作成するために、インテントのデータ部分が必要です(それぞれのインスタンスを異なる時間に更新する必要があるため)。その後、BRのPendingインテントを作成し、このPIでalarmManagerを作成します。メソッドsetRepeating
では、AppWidgetインスタンスの開始時間と間隔を定義します。
もう少し説明していただけますか? –
私は答えを更新しました。 – Yury