0

my simple code:

int[] appWidgetIds= AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), MyWidgetProvider.class));

        Toast.makeText(mContext,"ids:size:"+appWidgetIds.length,Toast.LENGTH_SHORT).show();
        MyWidgetProvider myWidget = new MyWidgetProvider();
        myWidget.onUpdate(this, AppWidgetManager.getInstance(this),appWidgetIds);

I run it. but always i get appWidgetIds.length=0; What is appWidgetIds for widget Provider. I am confused about this. If anybody help me. I am very helpful for this. Thanks.

1 Answers1

0

int[] appWidgetIds is an array with app widget ids for referencing and updating them, e.g. inside onUpdate method of AppWidgetProvider. you are getting length=0 probably because your app doesn't have any widget added to launcher

creating new AppWidgetProvider like you do

MyWidgetProvider myWidget = new MyWidgetProvider();

is inproper, you should declare it in manifest with

<receiver android:name="MyWidgetProvider">
    <!--filters here -->
</receiver>

here you have some DOC how to deal with widgets

snachmsm
  • 17,866
  • 3
  • 32
  • 74