ウィジェットが更新されないことについて他にもいくつか質問がありますが、それらはすべて、updatePeriodMillisが30分未満の値に構成されていて、1時間に設定し、数時間チェックしているためです。
更新をテストするためだけに、実際のウィジェットプロジェクトとは別のプロジェクトを開始しましたが、どこにも行きません。
ウィジェットは、currentTimeMillis()でTextViewを更新するだけです。
AndroidManifest.xml
<receiver android:name="TestWidget" android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:resource="@xml/widget" android:name="android.appwidget.provider"/>
</receiver>
widget.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget"
android:minHeight="40dp"
android:minWidth="250dp"
android:updatePeriodMillis="3600000" >
</appwidget-provider>
最初の呼び出しですべてが正常にロードされますが、onUpdateが再度呼び出されることはありません。
助言がありますか?
編集:
TestWidget.classはonUpdateのみをオーバーライドします
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++) {
// Inflate the layout
RemoteViews v = new RemoteViews(context.getPackageName(),
R.layout.widget);
v.setTextViewText(R.id.text1, Double.toString(Math.random()));
v.setTextViewText(R.id.text2,
Long.toString(System.currentTimeMillis()));
// Update the widget
appWidgetManager.updateAppWidget(appWidgetIds[i], v);
}
}