1
也有一些是我真的不與Android的Widget API理解。WidgetProvider接收廣播雖然沒有插件顯示
我寫了一個帶配置Activity的小部件,每次我用adb安裝應用程序時,即使未顯示小部件,也會調用WidgetProvider.onUpdate()
。而且有時也有多個appWidgetIds,也當配置活動開始。
在onUpdate
方法我檢查的appWidgetManager.getAppWidgetIds()
的值,並且將其返回0的項目。
public class FlickrWidget
extends AppWidgetProvider
{
/**
* @see android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[])
*/
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
Log.d("FlickrWidget: Start onUpdate with " + appWidgetIds.length + " widgets");
int[] appWidgetIds2 = appWidgetManager.getAppWidgetIds(new ComponentName(context, FlickrWidget.class));
Log.d("FlickrWidget: installed : " + appWidgetIds2.length + " widgets"); //display 0 items
for (int i = 0; i < appWidgetIds2.length; i++)
{
Log.d("FlickrWidget : installed appWidgetId = " + appWidgetIds2[i]);
}
for (int i = 0; i < appWidgetIds.length; i++)
{
Log.d("FlickrWidget : appWidgetId = " + appWidgetIds[i]); // can have multiple items
}
}
}
我不明白,因爲我雖然:
- 的
AppWidgetProvider
接收廣播時,纔會有顯示的一個或多個部件。 - 與配置
Activity
一個小部件不更新與啓動了廣播。 - 撥打
onUpdate
appWidgetManager.getAppWidgetIds()
應該返回比參數appWidgetIds
相同int數組。
當我嘗試所有的3個點都是假的......
有人能幫助我嗎?
在此先感謝