Android Widget 是 App 小组件的一种,其生命周期与普通的 Android 组件略有不同。以下是 Android Widget 的生命周期:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
// 获取 Widget 视图,并更新内容
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
views.setTextViewText(R.id.widget_text, getContent());
// 更新这个 Widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
@Override
public void onEnabled(Context context) {
// 在这里执行 Widget 第一次创建的初始化操作
// 例如,初始化一个计数器
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putInt(COUNTER_KEY, 0).apply();
}
@Override
public void onDisabled(Context context) {
// 在这里执行最后一个 Widget 实例被删除时执行的一些清除操作
// 例如,清除保存的数据
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().remove(COUNTER_KEY).apply();
}
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
// 在这里执行删除 Widget 实例时执行的一些操作
}
上一篇:AndroidWi-Fi已通过应用程序连接但无法使用。
下一篇:AndroidWindowflagFLAG_TRANSLUCENT_STATUSisdeprecatednow,Howtofixthis?