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

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

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

  • 谷歌地方api图标列表
  • Android如何获得设备中的总内存RAM?
  • Android USB主机和隐藏设备
  • 无法find适用于Android SDK的Google API
  • 如何在Xamarin CrossPlatform应用程序中使用Web API
  • Android:Google Places自动完成 - 我如何使用它来填充RecyclerView而不是下拉菜单?
  • 如何避免使用AudioRecord进行自动增益控制?
  • Retrofit 2.0取消Call对象
  • 如何查看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