android:如何从我的应用程序打开另一个应用程序? [英] android: how do i open another app from my app?

查看:47
本文介绍了android:如何从我的应用程序打开另一个应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我了解在我自己的应用程序中打开另一个 Activity 时如何使用 Intent 和 startActivity(),但是您如何启动另一个应用程序?具体:

I understand how to use intents and startActivity() when opening another activity within my own app, but how do you start a different app? specifically:

  • 您如何确定用户是否在其设备上安装了所需的应用?
  • 您如何启动该应用程序?
  • 您如何向该应用传递参数?
  • 您如何找到特定应用(例如 Adob​​e 阅读器或谷歌地图)的所有这些信息?

推荐答案

如何查看 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();
}

查询包管理器 查看是否提前:

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);
}

如何将参数传递给应用程序或了解其功能:

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

这篇关于android:如何从我的应用程序打开另一个应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆