如何获取已安装的小部件列表?

时间:2010-11-25 11:32:20

标签: android android-appwidget

我正在尝试阅读Android上可用的主屏幕小部件列表。 我可以使用

使用可用的应用程序列表填充网格
Intent myIntent = new Intent(Intent.ACTION_MAIN, null);
myIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appsInfo = MyActivity.getPackageManager().queryIntentActivities(myIntent, 0);

然后迭代每个ResolveInfo 如何使用可用的主屏幕小部件进行相同的操作?我想用一个列表显示相同的列表,不断触摸屏幕并从显示的弹出窗口中选择“小部件”。

2 个答案:

答案 0 :(得分:12)

正如CommonsWare所建议的,这是用于提取小部件列表的工作代码

AppWidgetManager manager = AppWidgetManager.getInstance(this);
List<AppWidgetProviderInfo> infoList = manager.getInstalledProviders();
for (AppWidgetProviderInfo info : infoList) {
    Log.d(TAG, "Name: " + info.label);
    Log.d(TAG, "Provider Name: " + info.provider);
    Log.d(TAG, "Configure Name: " + info.configure);
}

可以提取各种其他值,有关更多参考,请参阅AppWidgetProviderInfo

答案 1 :(得分:8)

getInstalledProviders()上致电AppWidgetManager