2012-01-04 9 views

答えて

3

ここでは、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インスタンスの開始時間と間隔を定義します。

+0

もう少し説明していただけますか? –

+0

私は答えを更新しました。 – Yury

関連する問題