私の問題は、32 分ごとに更新する必要があるアプリ ウィジェットがあることです。ただし、テキストビューは更新されません。ログエントリを onUpdate メソッドに配置して、Logcat で動作していることを確認しました。メソッドが正常に動作していることを確認しましたが、textview の値が変更されていません。これが私のコードです。AppWidgetProvider:
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
ComponentName thisWidget=new ComponentName(context,
IzUlasimProvider.class);
int[] allWidgetIds=appWidgetManager.getAppWidgetIds(thisWidget);
for(int id:allWidgetIds){
String now=new SimpleDateFormat("HH:mm").format(new Date());
RemoteViews views=new RemoteViews(context.getPackageName(), R.layout.widget);
views.setTextViewText(R.id.tvWidget,now);
appWidgetManager.updateAppWidget(id, views);
now=null;
}
Log.w("Update","Update Finished");
}
私の設定ファイル:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget"
android:minHeight="110dp"
android:updatePeriodMillis="1920000"
android:minWidth="250dp" android:configure="com.izulasim.widget.IzWidgetConfig">
ウィジェットの AndroidManifest 部分:
<receiver android:name="com.izulasim.widget.IzWidgetProvider">
<intent-filter >
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_config" />
</receiver>
<activity
android:name="com.izulasim.widget.IzWidgetConfig"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<provider android:name=".IzUlasimProvider"
android:authorities="com.izulasim.provider.IzUlasim" />