当您尝试打开URL时,阿里巴巴Android应用程序会导致崩溃

bso*_*bat 11 crash url android external webview

当您尝试打开链接时,从whatsapp的示例中,应用程序(在本例中为whatsapp)崩溃.只有在您的设备中安装了阿里巴巴应用程序时才会出现这种情况.复制路径:

  1. 安装阿里巴巴应用(https://play.google.com/store/apps/details?id=com.alibaba.intl.android.apps.poseidon&hl=en)
  2. 尝试打开网址
  3. 应用程序崩溃(或者它找不到任何其他活动来打开链接,甚至不是Chrome浏览器.)

    我们在应用中看到的崩溃是:

    致命异常:java.lang.SecurityException:权限拒绝:启动Intent {act = android.intent.action.VIEW dat = http://www.nu.nl cmp = com.alibaba.intl.android.apps.poseidon/com来自ProcessRecord的.alibaba.android.intl.weex.activity.WeexPageActivity VirtualScreenParam = Params {mDisplayId = -1,null,mFlags = 0x00000000)}} {7307f55 18243:.../u0a226}(pid = 18243,uid = 10226)没有从uid 10207出口

Ash*_*elu 8

根据我的推断,这是一个与阿里巴巴应用程序相对应的错误.首先,它与深度链接功能相关联,允许应用程序打开它们本地的URI.例如:quora app或reddit app.这将在Quora内部而不是Chrome中打开,以增强体验.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.BROWSABLE"/>
  <category android:name="android.intent.category.DEFAULT" />
  <data
     android:host="reddit.com"
     android:pathPrefix="/r"
     android:scheme="https" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

像这样的东西.我怀疑阿里巴巴应用程序会将所有主机路由到他们的应用程序.他们会大量使用通配符,这些通配符可以使他们的应用程序从字面上打开任何URL.崩溃也是由于拒绝许可.当您尝试从应用程序外部的上下文中打开未导出的活动时,会发生这种情况.

PS:简而言之,这只是阿里巴巴B2B应用程序的一个问题.这只能从他们身边修复.尝试清除默认值并将所有网址路由回chrome,因为android会要求您选择任何uri的默认应用程序.

  • 不过,我相信,Android应该为这个问题提供一个很好的解决方案.您不能让应用程序崩溃只是因为一个应用程序无法处理意图(因为它未导出) (2认同)