android - How to keep widget configuration after phone restart? -
i want make widget app able dial number , user can set number when first drag , drop widget home screen using widget configuration.but when phone restarts widget uses default number again. decide save entered phonenumber shared preferences save , load user's phone number eclipse says using getsharedpreferences not allowed in onupdate.is there way perform it?
what should do?
my code:
public class main extends appwidgetprovider { @override public void onupdate(context context, appwidgetmanager appwidgetmanager, int[] appwidgetids) { // todo auto-generated method stub super.onupdate(context, appwidgetmanager, appwidgetids); for(int i=0 ; i<appwidgetids.length ; i++) { sharedpreferences details = getsharedpreferences("operator", 0); int appwidgetid = appwidgetids[i]; string phnumber = "5554574"; intent intent = new intent(intent.action_call); intent.setdata(uri.parse("tel:"+(phnumber))); pendingintent pending = pendingintent.getactivity(context, 0, intent, 0); remoteviews views = new remoteviews(context.getpackagename(), r.layout.main); views.setonclickpendingintent(r.id.button1, pending); appwidgetmanager.updateappwidget(appwidgetid, views); } } }
use:
sharedpreferences details = context.getsharedpreferences("operator", 0);
sharedpreferences has acquired context. onupdate(...) provides context.
your changed code should this:
public class main extends appwidgetprovider { @override public void onupdate(context context, appwidgetmanager appwidgetmanager, int[] appwidgetids) { // todo auto-generated method stub super.onupdate(context, appwidgetmanager, appwidgetids); for(int i=0 ; i<appwidgetids.length ; i++) { sharedpreferences details = context.getsharedpreferences("operator", 0); int appwidgetid = appwidgetids[i]; string phnumber = "5554574"; intent intent = new intent(intent.action_call); intent.setdata(uri.parse("tel:"+(phnumber))); pendingintent pending = pendingintent.getactivity(context, 0, intent, 0); remoteviews views = new remoteviews(context.getpackagename(), r.layout.main); views.setonclickpendingintent(r.id.button1, pending); appwidgetmanager.updateappwidget(appwidgetid, views); } } }
please try it.
Comments
Post a Comment