我需要按照以下顺序从我的应用程序启动另一个应用程序:
2.如果没有可用的应用程序,请启动Google Play并搜索名称(例如“计时器”)。
答案 0 :(得分:1)
您需要使用PackageManager
获取所有已安装的应用程序名称,并使用getLaunchIntentForPackage
启动应用程序(如果它包含特定字符串):
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages =
pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
if(packageInfo.packageName.toLowerCase().
contains(""perfect timer".toLowerCase())){
Intent intent =
pm.getLaunchIntentForPackage(packageInfo.packageName);
if (intent != null) {
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
}
} else{
// Launch google play app here
String apppackname = "com.example.appname";
Intent intentapp=new (Intent.ACTION_VIEW,
Uri.parse("market://search?q="+apppackname)));
startActivity(intentapp);
}
}
答案 1 :(得分:0)
首先,您需要阅读所有已安装的应用,请阅读http://www.androidsnippets.com/get-installed-applications-with-name-package-name-version-and-icon,
在找到欲望的应用程序后,您可以简单地对该应用程序进行表达,或者使用像这样的过滤搜索打开市场
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("market://search?q=com.amazon.kindle"));
startActivity(i);