【发布时间】:2019-09-09 19:39:11
【问题描述】:
我有一个简单的要求。原生应用 A 需要在原生应用 B 中启动 Activity。根据 Google Dev 文档,有两种方法可以做到: 1.使用Implicit Intents 2.使用App Links
从安全角度来看,哪种方法更好?
【问题讨论】:
-
几乎相等。两者的最大问题是您永远无法确定收件人实际上是您的应用程序而不是恶意行为者,因此请不要通过任何一个传递任何敏感信息。
我有一个简单的要求。原生应用 A 需要在原生应用 B 中启动 Activity。根据 Google Dev 文档,有两种方法可以做到: 1.使用Implicit Intents 2.使用App Links
从安全角度来看,哪种方法更好?
【问题讨论】:
从安全角度来看,App Links 会是更好的方法。使用应用程序链接,您可以设置一个链接到您拥有的域的 url。该 url 在您的客户端应用程序和托管域的服务器上都进行了配置。如果用户没有安装支持应用程序链接的应用程序,那么您将被定向到网站而不是应用程序。
使用Implicit Intents,任何应用都可以注册该意图。如果多个应用程序注册了该意图,则会显示一个应用程序选择器,供用户决定哪个应用程序应打开该意图。此外,如果没有安装为该意图注册的应用程序,那么您需要检查是否存在,否则将引发异常,指示没有应用程序来处理您的意图执行。
App Link 的缺点是它仅在 Android 6.0(API 级别 23)及更高版本上受支持,并且需要在网站域上进行额外配置。
【讨论】: