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 に答える