8

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

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

而不是遍历每个 ResolveInfo。
如何对可用的主屏幕小部件执行相同操作?我想用出现的相同列表填充一个网格,不断触摸屏幕并从出现的弹出窗口中选择“小部件”。

4

2 回答 2

13

正如 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

于 2013-07-11T09:23:49.990 回答
9

调用getInstalledProviders()一个AppWidgetManager.

于 2010-11-25T14:05:52.770 回答