【问题标题】:Android - check for presence of another appAndroid - 检查是否存在其他应用
【发布时间】:2010-09-12 08:51:49
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案1】:
    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”的值相同

    【讨论】:

    • 这行得通。而且,如果是捐赠应用或类似的东西,你也可以从捐赠应用中调用一个 Intent 并检查返回值。从理论上讲,这将防止使用相同的 pName 创建 apk 并在商店之外分发。只是一个想法......
    【解决方案2】:

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

    你可能想看看这个:http://developer.android.com/guide/topics/intents/intents-filters.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2016-08-23
      相关资源
      最近更新 更多