android:我如何从我的应用程序中打开另一个应用程序?

我了解如何在我自己的应用程序中打开另一个活动时使用意图和startActivity(),但是如何启动另一个应用程序? 特别:

  • 如何确定用户是否在其设备上安装了所需的应用程序?
  • 你是如何开始这个应用程序的?
  • 如何将parameter passing给该应用程序?
  • 如何find特定应用程序(例如Adobe阅读器或谷歌地图)的所有这些信息?

Solutions Collecting From Web of "android:我如何从我的应用程序中打开另一个应用程序?"

如何查看Intent是否可用:

  1. 尝试调用Intent并处理ActivityNotFoundException如果它不可用)

     Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(path, "application/pdf"); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); try { startActivity(intent); } catch (ActivityNotFoundException e) { Toast.makeText(OpenPdf.this, "No Application Available to View PDF", Toast.LENGTH_SHORT).show(); } 

    要么

  2. 查询包管理器以查看它是否提前:

     PackageManager packageManager = getPackageManager(); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setType("application/pdf"); List list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list.size() > 0) { intent.setDataAndType(path, "application/pdf"); startActivity(intent); } 

如何将parameter passing给应用程序或了解其function:

  1. Google应用程序的可用意图列表
  2. 第三方@ OpenIntents的意向清单

您正在寻找的是意图意图filter

Android开发人员指南中详细介绍了您想知道的所有内容。

http://developer.android.com/guide/topics/intents/intents-filters.html