这个问题可能看起来过于宽泛。但我需要开发一个应用程序浏览器,我需要我的应用程序才能有一个按钮,点击该按钮它应该列出我手机上所有已安装的应用程序,并选择任何应用程序,我的应用程序应该依次打开该应用程序。我已经读过,如果我们知道应用程序的包和类名,我们就可以打开应用程序了。你能帮我怎么去做这个应用程序吗?或者甚至可能吗?
由于
答案 0 :(得分:2)
如果您想创建自定义启动器,那么 -
获取安装应用列表,在任何想要显示应用的地方使用gridView或ListView,创建自定义适配器以显示图标和名称到ListView
获取已安装的应用列表 -
PackageManager pm = getPackageManager();
List<ApplicationInfo> installedApps = context.getPackageManager()
.getInstalledApplications(PackageManager.PERMISSION_GRANTED);
for (ApplicationInfo apps : installedApps) {
if (context.getPackageManager().getLaunchIntentForPackage(apps.packageName) != null) {
//for app Name
appList.add((String)pm.getApplicationLabel(apps).toString());
//For app Package Name
appPackage.add(apps.packageName); //appList and appPackage is arraylist
}
}
用于创建图标
Drawable icon = getPackageManager().getApplicationIcon("Your.Package.Name");
如果要将图标用作位图,请将此drawable更改为Bitmap。
启动应用程序时使用Intent和Package Manager -
PackageManager pm = getPackageManager();
Intent appStartIntent = pm.getLaunchIntentForPackage("Your.Package.Name");
if (appStartIntent != null) {
startActivity(appStartIntent);
}