Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alibaba android app causes crash when you try to open an URL [closed]

When you try to open a link, from example from whatsapp, the app (in this case whatsapp) crashes. This only happens if you have alibaba app installed in your device. Reproduction path:

  1. install alibaba app (https://play.google.com/store/apps/details?id=com.alibaba.intl.android.apps.poseidon&hl=en)
  2. try to open url
  3. app crashes (or it can't find any other activities to open the link, even not the chrome browser.)

    The crash what we see in our app is:

    Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=http://www.nu.nl cmp=com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity VirtualScreenParam=Params{mDisplayId=-1, null, mFlags=0x00000000)} } from ProcessRecord{7307f55 18243:.../u0a226} (pid=18243, uid=10226) not exported from uid 10207

like image 743
bsobat Avatar asked Jan 09 '17 10:01

bsobat


1 Answers

From what I infer, this is a bug corresponding to the alibaba app. Firstly it is associated with deep linking feature which allows Apps to open URI indigenous to them. For example : quora app or reddit app. This would open inside the Quora instead of Chrome to enhance the experience.

<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>

Something like this. I suspect that the alibaba app would have routed all the hosts towards their app. They would have liberally used the wildcards which would have made their app to be opened from literally any url. Also the crash is due to denial of permission. This happens when you try to open a non-exported activity from context outside of the app.

PS: In short words, this is solely an issue with alibaba B2B app. This can only be fixed from their side. Try clearing defaults and routing all urls back to chrome as android asks your choice to select the default application for any uri.

like image 84
Ashik Vetrivelu Avatar answered Oct 29 '22 00:10

Ashik Vetrivelu