带有 android:autoVerify="true" 的意图过滤器 - 安装时从未验证,默认应用程序链接不起作用

2023-12-27

我在 Android 应用程序中使用branch.io SDK,并希望使我的应用程序成为 Android 6 上分支链接的默认处理程序,如下所述here http://developer.android.com/training/app-links/index.html(Android 指南)和here https://dev.branch.io/getting-started/universal-app-links/guide/android/(Branch.io 指南)

这是我的活动在 AndroidManifest.xml 中的声明:

    <activity android:name="com.mypackage.MyActivity"
              android:launchMode="singleTask">
        <intent-filter tools:node="merge" android:autoVerify="true">
            <data android:scheme="@string/url_scheme" android:host="open"/>
            <data android:scheme="https"
                  android:host="@string/branch_io_host"
                  android:pathPrefix="@string/branch_io_path_prefix"/>
            <data android:scheme="http"
                  android:host="@string/branch_io_host"
                  android:pathPrefix="@string/branch_io_path_prefix"/>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
        </intent-filter>
    </activity>

但是,当我在设备上安装版本时,当我单击具有正确主机和路径的链接时,我仍然会看到选择器对话框。读完本文后有关应用程序链接的详细指南 https://chris.orr.me.uk/android-app-linking-how-it-works/,我相信发生这种情况是因为我的设备从未验证我的应用程序的意图过滤器。例如。当我安装一个Twitter从 Play 商店下载应用程序后,我在 LogCat 中看到以下消息:

03-24 15:04:27.231: D/IntentFilterVerificationReceiver(16965): Received ACTION_INTENT_FILTER_NEEDS_VERIFICATION.
03-24 15:04:27.248: I/IntentFilterIntentService(16965): Verifying IntentFilter. verificationId:2 scheme:"https" hosts:"twitter.com www.twitter.com ads.twitter.com" package:"com.twitter.android".
03-24 15:04:30.134: I/IntentFilterIntentService(16965): Verification 2 complete. Success:true. Failed hosts:.

但当我安装应用程序时,我没有看到这样的消息。我尝试了发布和调试版本,尝试将其上传到游戏商店中的 Alpha 测试并从那里安装,结果相同。为什么 Android 不验证我的 Intent 过滤器?


通过将此数据标记移动到单独的意图过滤器中来修复此问题:

<data android:scheme="@string/url_scheme" android:host="open"/>

这就是 AndroidManifest 现在的样子:

<activity android:name="com.mypackage.MyActivity"
          android:launchMode="singleTask">
    <intent-filter tools:node="merge" android:autoVerify="true">
        <data android:scheme="https"
              android:host="@string/branch_io_host"
              android:pathPrefix="@string/branch_io_path_prefix"/>
        <data android:scheme="http"
              android:host="@string/branch_io_host"
              android:pathPrefix="@string/branch_io_path_prefix"/>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
    </intent-filter>
    <intent-filter>
        <data android:scheme="@string/url_scheme" android:host="open"/>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
    </intent-filter>
</activity>

来自 IntentFilter 的消息现在按预期显示在日志中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 android:autoVerify="true" 的意图过滤器 - 安装时从未验证,默认应用程序链接不起作用 的相关文章

  • RecyclerView每隔几个项目都是相同的 - 可扩展项目

    我的 recyclerView 有问题 我正在使用此布局来扩展 recyclerView 中的 cardView https github com AAkira ExpandableLayout https github com AAkir
  • 从 admob 独立 SDK 切换到 Google Play 服务 SDK 时,apk 大小会膨胀

    使用 Admob SDK 我的 apk 大小为 230Kb 当用 google play services SDK 替换 Admob SDK 时 它是 1 5MB 膨胀了 6 倍以上 我想完整的 Google Play 服务客户端 SDK
  • 在运行时绘制HSV圆

    我想在我的应用程序中有一个颜色选择器 如下所示 我尝试过逐像素填充位图 尝试使用画布drawArc 方法 这两种方式都不利于性能 有任何想法吗 它可能不完全是它应该的样子 与颜色 饱和度等有关 但是这是一些东西 http i1272 pho
  • Android异步服务调用策略

    这是场景 客户端对服务进行远程调用 返回 void 并提供 回调对象 服务在后台线程上执行一些长时间运行的逻辑 然后使用回调对象来触发以太成功或失败 因为这些操作视觉元素 执行 Activity runOnUiThread 块 该场景运行良
  • Android - 启用和禁用蓝牙 - SDK 3 (OS 1.5) - 以编程方式?

    我编写了代码来以编程方式启用和禁用各种功能 例如 Wifi 振铃模式 飞行模式 您将在电源切换小部件中看到的所有内容 我还没有找到如何做的一个是蓝牙 看来在 SDK level 3 OS 1 5 中没有漂亮的蓝牙管理器类 有没有人指出关于启
  • Android 服务 START_STICKY START_NOT_STICKY

    我需要让我的服务始终在后台运行 并使用 startService 函数启动我的服务 无论应用程序的状态如何 我都不想重新启动服务 这是我的观察 START STICKY gt 如果应用程序启动 则服务正在重新启动 当应用程序关闭时 服务也会
  • 意图过滤器到底是什么?

    我读过很多关于意图过滤器的文章 但我真的无法理解它们到底是做什么的 那么 如果有人可以用一个清晰 的例子向我解释意图过滤器的作用到底是什么 thanks 我认为这是有据可查的here http developer android com g
  • Android 和 iOS 中的应用程序文件大小差异

    通过使用两个应用程序分发服务 Android 市场和 Apple 应用程序商店 我发现了一个谜团 Apple 应用程序的文件大小通常大于 Android 应用程序 我似乎找不到任何对这些差异的解释 而且这似乎是一个未触及的主题 我尝试过分配
  • Android/java:从 ProGuard 过渡/迁移到 R8?

    我想知道如何从ProGuard to R8 我是否应该从 Gradle 文件中删除与 Proguard 相关的行并添加android enableR8 true线代替 Thanks Proguard 由 GuardSquare 开发和维护
  • 带有内容提供商的小部件;无法使用ReadPermission?

    所以我刚刚为我的应用程序实现了一个小部件 它通过我的数据库从数据库获取数据ContentProvider 我在清单中定义了自己的读 写权限 声明我使用它们 似乎没有什么区别 并在内容提供程序中要求它们
  • 在应用程序之间共享自定义帐户验证器

    我有一个为使用自定义 AccountAuthenticator 的客户端构建的应用程序 它工作得非常好 并且满足了客户的需求 但是 这只是将使用相同身份验证管理器的应用程序集合中的第一个应用程序 这就是我不确定如何继续的地方 我无法知道任何
  • 通过覆盖滑动调整图像大小不会调整图像大小

    我在用着Glide下载并显示图像 但是 当我尝试调整图像大小时 它不会这样做 我得到随机大小 或者可能是图像的实际大小 这是我用于通过 Glide 加载的代码 Glide with context load file getUrl asBi
  • Android/三星 Galaxy S 模拟器

    有没有办法在三星银河模拟器或类似的东西上尝试我的项目 我的项目在 HTC Legend 上运行 但在该设备上崩溃了 我如何在 android eclipse 上设置三星 Galaxy s 我设置了 W800 854 2 2 AVD 但它可以
  • 在一个react-native项目中使用谷歌地图和FCM

    I want to use google map and FCM in one react native project first I added FCM in project everything was okay but when I
  • Eclipse Android 模拟器 - 键盘不工作

    我刚刚更新到最新的 SDK 版本 16 使用最新版本的 API 16 创建了新版本的 AVD 并且我的硬件键盘在模拟器上不再工作 甚至我的其他 avd 使用旧版本的 sdk 任何想法如何解决这一问题 您的 AVD 的 键盘支持 硬件属性是否
  • 拥有可重用对话框的最佳方法是什么?

    在 Android 中创建可重用对话框的最佳方法是什么 阅读通过对话框开发指南 http developer android com guide topics ui dialogs html 我知道我可以使用AlertDialog Buil
  • 安卓独立包

    我有一个很大的 UI 大约 20 25 个屏幕 我应该如何组织我的代码 我应该按功能分成不同的包吗 我是否应该为所有 UI 类创建一个包 然后创建子包进行组织 或者我不应该创建单独的包并组织到文件夹中 任何帮助将不胜感激 当您创建文件夹时
  • 尝试重新打开已关闭的对象:sqlitequery

    所以本质上我查询数据库两次 我不明白这个错误真正来自哪里 因为我没有在任何地方关闭数据库 返回错误的代码是这样运行的 我查了一下 刚刚看到一个像我这样的案例 BeaconHandler pullAllDB new BeaconHandler
  • 活动构建变体没有测试工件

    我基于 调试 构建变体创建了一个名为 bitrise 的新构建类型 使用 debug 构建变体时 经过检测的 androidTests 构建并运行良好 但是当我切换到新的 bitrise 构建变体时 出现以下错误 Process finis
  • Android:在surfaceview上实现admob

    我有一个使用 SurfaceView 的小游戏形式的活动 下面是代码片段 我很困惑如何在 SurfaceView 上实现 admob 请建议 public class DroidzActivity extends Activity priv

随机推荐

  • C++ 返回一行

    我正在编写一个多行系统 如下所示 string readLines string x string temp a vector
  • 如何在 FPDF 中设置下边距

    我最近深入研究了 FPDF 但我似乎不明白的是 为什么没有办法设置底部边距 有一些功能可以设置顶部 左侧和右侧的边距 但不能设置底部的边距 我现在假设我误解了 FPDF 工作原理的一些基本和概念性内容 但我不知道那可能是什么 所以要减少它
  • 如何从 JavaFX 中的 SceneBuilder 访问 UI 组件

    重复并已解决 请参阅下面的答案 我正在 JavaFX 中迈出第一步 似乎很难使用 SceneBuilder 我已经习惯了 Android 和 QtCreator 在我看来 访问 UI 组件要容易得多 就像是findViewById R id
  • 在 UI 中为控制器内的操作添加嵌套分组部分

    动作分组中是否可以有小节 我们目前使用基于控制器的区分来对功能进行分组 但托管大量控制器并且可以使用进一步的嵌套 换句话说 我知道操作可以按以下方式分组 排序 但可以多次分组 c GroupActionsBy apiDesc gt apiD
  • 如何使用 R 从需要 cookie 的 SSL 页面下载压缩文件

    我正在尝试从 https 页面下载一个文件 该页面需要按下 我同意 按钮 然后存储 cookie 如果这个答案在某个地方很明显 我很抱歉 当我直接在 Chrome 中打开网页并单击 我同意 时 文件开始自动下载 我尝试复制这个例子 http
  • 是否可以在服务器端缓存一个asp页面?

    假设您有一个大型复杂的索引页面 其中显示新闻文章和内容 它不会经常改变 您能否以某种方式将其缓存在服务器端 这样请求就不会强制服务器在每次有人访问它时动态生成整个页面 或者 ASP NET 会自动执行此操作吗 如果是这样 它如何知道某些内容
  • 使用特定字符串作为每个列名称的前缀?

    我试图manually将某些行映射到其适当类的实例 我知道我需要使用每个表的每一列 并将一个表中的所有这些列映射到给定的类中 但是 我想知道是否有更简单的方法可以做到这一点 现在 我有一堂课叫School和一个名为User 每个类都有一个N
  • 其他浏览器是否实现了条件注释?

    IE 允许您根据浏览器的注释条件检测正在运行的 IE 版本 我实际上不知道他们是否这么称呼 如果不是 有人可以纠正我 css code here 有谁知道其他浏览器是否效仿他们的示例来确定他们正在使用的浏览器版本 css code here
  • 点击或延迟后 jQuery 淡出

    我正在网站上显示一个消息框 我希望能够在单击时或 X 秒后淡出 问题是delay 函数取代了click 功能使得即使您单击关闭您仍然需要等待时间 这是 jQuery document ready function close green c
  • 运行全新安装的 iPython 时出错

    我正在使用 virtualenvwrapper 因此任何人都可以轻松地重现它 但是使用也会发生这种情况pip直接在我的系统上 安装 iPython 后pip 我将无法运行它 注意我使用的是 Python 2 解释器 尽管如果我使用 Pyth
  • 在 iOS9 上编辑 UITextField 时向上移动键盘

    让我的键盘向上移动以发现UITextField在我的 iOS 应用程序中 我曾经实现过这个答案 https stackoverflow com a 6908258 3855618 https stackoverflow com a 6908
  • 无法将文本视图的文本垂直居中

    已解决 我必须添加android fillViewport true 到 ScrollView 解决了文本不垂直居中的问题 我知道这个问题之前已经被回答过很多次了 但我仍然无法将文本视图的文本垂直居中
  • Amazon EC2 作为网络服务器? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近对可用的不同托管类型进行了很多思考 我们可以从欧洲的 EC2 实例 我们位于瑞典 获得相当不错的延迟 平均 并且成本相当不错 显然 扩大和
  • 访问 Ember-CLI 嵌套控制器

    这是我的目录结构 controllers restaurant items js index js restaurant js 我的路由器声明 this route restaurants path restaurants this res
  • 快速生成随机集,蒙特卡罗模拟

    我有一组大约 100 个数字 我希望对这组数字执行 MC 模拟 基本思想是我完全随机化该组 对前大约 20 个值进行一些比较 检查 存储结果并重复 现在 实际的比较 检查算法非常快 它实际上在大约 50 个 CPU 周期内完成 考虑到这一点
  • 当客户端关闭与 Django/WSGI 应用程序的连接时,如何防止“IOError:无法写入数据”?

    我有一个 iPhone 应用程序 它使用 Python Django 和 Piston 实现的 Web 服务 通过 WSGI 在 apache 服务器上运行 有时 应用程序会在呼叫完成之前关闭与服务器的连接 当它这样做时 会导致 Tue S
  • 在Python中对字母数字字典键进行排序[重复]

    这个问题在这里已经有答案了 我有一个键字典 如 A1 A15 B1 B15 等 运行dictionary keys sort 会产生 A1 A10 A11 def sort keys dictionary keys dictionary k
  • 通过 jquery geocoder.geocode 进行地址地理编码(400 项)

    我正在尝试解析包含 400 个地址的 json 并在每个位置设置地图图标 我的问题是 当我循环遍历项目时 出现错误 OVER QUERY LIMIT 但是使用 google geocode api 设置位置的最佳方法是什么 我的函数如下所示
  • 单击 URL 将打开默认浏览器

    我已经在我的中加载了一个外部URLWebView 现在我需要的是 当用户单击加载的页面上的链接时 它必须像普通浏览器一样工作并在相同的位置打开链接WebView 但它打开默认浏览器并加载页面 我已经启用了 JavaScript 但它仍然不起
  • 带有 android:autoVerify="true" 的意图过滤器 - 安装时从未验证,默认应用程序链接不起作用

    我在 Android 应用程序中使用branch io SDK 并希望使我的应用程序成为 Android 6 上分支链接的默认处理程序 如下所述here http developer android com training app lin