【问题标题】:How to check if App is installed when someone click on my shared Intent当有人点击我的共享意图时如何检查是否安装了应用程序
【发布时间】:2018-11-26 07:08:06
【问题描述】:

我有一个代码可以使用Intent 共享数据。假设在有人点击后向 FB 分享内容后,它应该检查该应用程序是否安装在该用户的手机中,如果是,那么它应该从应用程序打开特定活动,如果不是,它应该重定向到下载应用程序的链接。

我的代码如下:

  btnShareData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                isAppInstalled("co.AppName");
                imageUri = getResources().getString(R.string.share_data_url) + data.getId();
                Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
                sharingIntent.setType("text/plain");
                sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, data.getTitle());
                sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, imageUri);
                startActivity(Intent.createChooser(sharingIntent,  "Share Via..."));
        }

    });



public boolean isAppInstalled(String packageName) {
        try {
            getPackageManager().getApplicationInfo(packageName, 0);
            return true;
        }
        catch (PackageManager.NameNotFoundException e) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getResources().getString(R.string.app_download))));
            return false;
        }
    }

我已经寻找其他答案并实施了这个,但它不起作用。在我的 FB 墙上分享后,如果我点击它,它会在浏览器中打开 share_data_url 链接。

【问题讨论】:

  • 您将无法拦截其他应用程序(FB 等)中的点击。

标签: android android-intent share


【解决方案1】:

您可以简单地使用 firebase 动态链接。试一试,如果您有任何疑问,请随时提出。

【讨论】:

  • 我必须先在 Firebase 上添加项目吗?任何其他替代解决方案?
  • 是的,在 firebase 中添加您的项目非常容易。这样您就可以使用 firebase 功能。就试一试吧。对此有任何疑问吗?
  • 为了引用 IOS/Android 行为的应用程序,我们必须在应用程序商店中有应用程序,但我们的应用程序仍在开发中。它在 Play 商店中不可用。如果我们不想在 firebase 上添加我们的项目,还有其他选择吗?
  • 对于 android,其他选项是通过创建应用程序的深层链接来使用意图过滤器。请浏览文档here。但据我了解,由于自定义浏览器,某些设备不会完全支持这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
  • 2016-11-27
  • 1970-01-01
  • 2013-09-16
  • 2011-10-14
  • 2012-08-26
相关资源
最近更新 更多