java - No methods firing in RemoteViewsService - Android -


below code widget extending appwidgetprovider. widget renders correctly when put on home screen, view empty. using logging, found no methods called classes used extend remoteviewsservice (budgetwidgetservice), returns implementation of remoteviewsservice.remoteviewsfactory.

is there mistake causing budgetwidgetservice never instantiated or used?

i can't find way check if budgetwidgetservice bound remoteviews layout create. if can think of can further diagnose problem, other logging method calls in appwidgetprovider , extension of remoteviewsservice, appreciate well,

@override public void onupdate(context context, appwidgetmanager appwidgetmanager, int[] appwidgetids) {     log.i("budget widget", "provider onupdate called");     // update each of widgets remote adapter     (int = 0; < appwidgetids.length; ++i) {         remoteviews layout = buildlayout(context, appwidgetids[i]);         appwidgetmanager.updateappwidget(appwidgetids[i], null);         appwidgetmanager.updateappwidget(appwidgetids[i], layout);     }     super.onupdate(context, appwidgetmanager, appwidgetids); }  private remoteviews buildlayout(context context, int appwidgetid) {     log.i("budget widget", "provider buildlayout called");     remoteviews rv = new remoteviews(context.getpackagename(), r.layout.widget_budget);      remoteviews list_item = new remoteviews(context.getpackagename(), r.layout.widget_budget_item);     list_item.settextviewtext(r.id.widget_budget_item_text, "test #1");      final intent intent = new intent(context, budgetwidgetservice.class);     intent.putextra(appwidgetmanager.extra_appwidget_id, appwidgetid);     intent.setdata(uri.parse(intent.touri(intent.uri_intent_scheme)));     rv.setremoteadapter(r.id.widget_budget_list, intent);      rv.setemptyview(r.id.widget_budget_list, r.id.empty_view);      final intent refreshintent = new intent(context, budgetwidgetprovider.class);     refreshintent.setaction(budgetwidgetprovider.refresh_action);     final pendingintent refreshpendingintent = pendingintent.getbroadcast(context, 0,             refreshintent, pendingintent.flag_update_current);     rv.setonclickpendingintent(r.id.refresh_button, refreshpendingintent);      return rv; } 

i having same problem, , discovered had forgotten add android.permission.bind_remoteviews permission remoteviewsservice in androidmanifest.xml:

<service android:name="mywidgetservice" ... android:permission="android.permission.bind_remoteviews" /> 

i found answer under section "manifest app widgets collections" on app widgets guide.


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -