我正在制作一个简单的备忘录小部件应用。 只写一些文本并将其保存到SharedPreference。 一切正常.. 但是当我的手机重启时,应用小部件将变为默认值。
我听说我应该对Boot_Complete做点什么.. 所以我在Manifest中添加了Boot_Complete Permission和Intent-Filter。 但我不知道如何在我的手机重启时调用onUpdate。 我的来源是这个.. 请参阅onReceive部分..
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
for(int i=0; i<appWidgetIds.length; i++){
int widgetId = appWidgetIds[i];
Intent intent = new Intent(context, MyAppPostItActivity.class);
intent.putExtra("widgetId", widgetId);
PendingIntent pending = PendingIntent.getActivity(context, widgetId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews remote = new RemoteViews(context.getPackageName(), R.layout.widget);
remote.setOnClickPendingIntent(R.id.layout, pending);
appWidgetManager.updateAppWidget(widgetId, remote);
}
}//onUpdate
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")){
//I guess I should Call the onUpdate In here!! But I don't know how..
}
}
boot_complete之后,如何恢复我的小部件数据? 我希望有任何建议或线索或样品.. 非常感谢〜!
答案 0 :(得分:0)
回答我自己。 我忘了在onUpdate方法中使用setText。 在onUpdate中添加setText之后,重启后它可以正常工作。