本周早些时候我问了一个与此类似的问题,但我仍然不明白如何获取所有已安装应用程序的列表,然后选择一个运行。
我试过了:
Intent intent = new Intent(ACTION_MAIN);
intent.addCategory(CATEGORY_LAUNCHER);
这仅显示预安装或可以运行 ACTION_MAIN 的应用程序 Intent 类型。
我也知道我可以使用 PackageManager 获取所有已安装的应用程序,但是如何使用它来运行特定的应用程序?
Best Answer-推荐答案 strong>
这是使用 PackageManager 的更简洁的方法
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, "Source dir : " + packageInfo.sourceDir);
Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName));
}
// the getLaunchIntentForPackage returns an intent that you can use with startActivity()
更多信息在这里 http://qtcstation.com/2011/02/how-to-launch-another-app-from-your-app/
关于android - 如何获取已安装的 android 应用程序列表并选择一个运行,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/2695746/
|