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