0

我需要按以下顺序从我的另一个应用程序开始:

  1. 检查设备上所有已安装的应用程序,找到名称中有特定字符串的应用程序并列出它们,以便可以选择和启动它们(例如检查名称中包含“计时器”的所有应用程序,例如“完美计时器”, “你的计时器”等)

2.如果没有可用的应用程序,启动 Google Play 并搜索名称(例如“计时器”)。

4

2 回答 2

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);
      }       
}
于 2013-01-01T19:10:35.897 回答
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);
于 2013-01-01T19:12:31.143 回答