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

我正在尝试阅读Android上可用的主屏幕小部件列表。 我可以使用可用的应用程序列表填充网格

Intent myIntent = new Intent(Intent.ACTION_MAIN, null); myIntent.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> appsInfo = MyActivity.getPackageManager().queryIntentActivities(myIntent, 0); 

并遍历每个ResolveInfo。
我怎样才能做到这一点与可用的主屏幕小部件? 我想用与出现的列表相同的列表来填充网格,不断地触摸屏幕并从出现的popup窗口中select“小部件”。

Solutions Collecting From Web of "如何获取已安装的小部件列表?"

AppWidgetManager上调用getInstalledProviders()

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

 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