我需要按以下顺序从我的另一个应用程序开始:
- 检查设备上所有已安装的应用程序,找到名称中有特定字符串的应用程序并列出它们,以便可以选择和启动它们(例如检查名称中包含“计时器”的所有应用程序,例如“完美计时器”, “你的计时器”等)
2.如果没有可用的应用程序,启动 Google Play 并搜索名称(例如“计时器”)。
我需要按以下顺序从我的另一个应用程序开始:
2.如果没有可用的应用程序,启动 Google Play 并搜索名称(例如“计时器”)。
如果它包含特定字符串,您将需要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);
}
}
首先你需要阅读所有已安装的应用程序在这里阅读更多内容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);