Android - 检查是否存在其他应用

时间:2010-09-12 08:51:50

标签: android

我正在开发一款扩展其他现有应用功能的应用。我想知道最简单的方法是通过代码确定是否安装了第一个应用程序,最好是通过com.whoever.whatever引用它。几乎任何标准都会有所帮助。

2 个答案:

答案 0 :(得分:31)

android.content.pm.PackageManager mPm = getPackageManager();  // 1
PackageInfo info = mPm.getPackageInfo(pName, 0);  // 2,3
Boolean installed = info != null;

  1. 在活动中使用,您需要一个上下文来获取PackageManager
  2. 我估计会抛出PackageManager.NameNotFoundException。检查!
  3. pName类似于'com.yourcompany.appname',与应用清单中'package'的值相同

答案 1 :(得分:2)

建议的方法是检查其他应用程序是否发布意图。大多数Intent并非由特定应用程序拥有,因此,如果您正在寻找发布“发送邮件”意图的程序,则打开的程序可能是Gmail应用程序或Yahoo Mail应用程序,具体取决于用户的选择和系统中安装了什么。

您可能希望看一下:http://developer.android.com/guide/topics/intents/intents-filters.html