如何让用户知道他/她需要安装我的应用依赖的另一个应用

我正在开发一个应用程序,它定义了一些意图过滤器(以操作字符串的形式,例如com.example.project.UPLOAD)供其他应用程序使用。 考虑一个设备没有我的应用程序,但是使用我的意图过滤器的应用程序,创建的Intent将会按照文档中描述的操作测试失败。 有什么办法可以防止这种情况的发生或提供更好的用户体验吗? 以下是我能想到的一些方法,但不知道是否可行:

  • 在安装依赖于其他应用程序来处理某些意图的应用程序时,建议用户安装可处理意图的应用程序
  • 动态确定是否可以处理意图。 如果不是,启动显示可以处理意图的应用程序的市场
  • 处理这个问题的最佳方法是什么? 请尽可能提供一些实施参考。


    除了在Marketplace中提及它之外,我不知道在应用程序安装过程中如何呈现消息,因为(据我所知)安装时没有支持的方式来执行代码。

    如果其他应用程序使用您的过滤器,则由他们来确保您的软件包已安装。 如果没有安装,你无法给他们任何东西。

    他们可以使用PackageManager来测试是否安装了软件包,并调整其逻辑以在用户需要安装软件包时通知用户。 例:

    private boolean isInstalled(){
        ComponentName comp = new ComponentName("com.yourpackagestuff", "com.yourpackagestuff.TestClass");
        Intent intentName = new Intent().setComponent(comp);
        List <ResolveInfo> list = ctx.getPackageManager().queryIntentActivities(intentName, PackageManager.MATCH_DEFAULT_ONLY);
        return list.size() > 0;
    }
    

    至少我是这么想的。


    您可以尝试调用Intent并捕获ActivityNotFoundException如果抛出)。 如果它被抛出,你知道它不存在,所以你可以实现你的备份代码。


    此解决方案在安装过程中更快地检查依赖应用程序的Android?

    getPackageManager().getApplicationInfo("com.myproject", 0 );
    

    没有例外意味着它的确定

    链接地址: http://www.djcxy.com/p/7213.html

    上一篇: How to let user know he/she needs to install another app that my app depends on

    下一篇: What is the difference between the sql blob and image types