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.
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