我在自定义主页启动器应用程序中实现了ViewPager
,我在ViewPager
中添加了5个页面。
现在,我想在ViewPager
的各个页面上添加主屏幕小部件和应用程序快捷方式。什么是实现这一目标的最佳方式?
答案 0 :(得分:1)
这是一个类似的问题(部分是关于小工具):Any AppWidgetHost-tutorials out there?
here是一个AppWidgetHost教程,主要有一个工作示例。至少这是一个很好的起点。
注意:示例第176行中有错误打印:
int appWidgetId = WidgetScreen.this.mAppWidgetHost.allocateAppWidgetId();
应替换为
int appWidgetId = mAppWidgetHost.allocateAppWidgetId();
答案 1 :(得分:0)
应用程序快捷方式:
您可以列出已安装的应用程序:
final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages = pm
.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
Log.d(TAG, "Installed package :" + packageInfo.packageName);
Log.d(TAG,
"Launch Activity :"
+ pm.getLaunchIntentForPackage(packageInfo.packageName));
}// the getLaunchIntentForPackage returns an intent that you can use with startActivity()
}
如果您需要更多信息,例如应用图标,请检查:How to get a list of installed android applications and pick one to run
然后,您可以将带有ListView的布局添加到页面片段/活动。
在适配器中为ListView添加所需的应用程序,并在onClick事件中创建打开它们的意图。
我认为这是显示应用程序列表的最佳方式,包括图标等。
<强>窗口小部件:强> 我从未在应用程序中看到过小部件,但根据下面的答案https://stackoverflow.com/a/8218587/327011显然有一种方法。
如果您对某些不同的东西感兴趣...您可以改为创建自定义主屏幕,并使用它而不是自定义。这不是一个应用程序。