2017-01-09 48 views
11

Podczas próby otwarcia łącza, na przykład z WhatsApp, aplikacja (w tym przypadku WhatsApp) ulega awarii. Dzieje się tak tylko wtedy, gdy masz zainstalowaną aplikację alibaba na swoim urządzeniu. ścieżka Rozmnażanie:Aplikacja Alibaba na Androida powoduje awarię przy próbie otwarcia adresu URL

  1. instalacja Alibaba app (https://play.google.com/store/apps/details?id=com.alibaba.intl.android.apps.poseidon&hl=en)
  2. spróbuj otworzyć url
  3. awarii aplikacji (lub nie może znaleźć żadnych innych czynności, aby otworzyć łącze, nawet przeglądarce Chrome .)

    katastrofa, co widzimy w naszej aplikacji jest:

    krytyczny wyjątek: java.lang.SecurityException: Permission Denial: począwszy Intent {act = droid.intent.action.VIEW dat = http://www.nu.nl cmp = com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity VirtualScreenParam = Parametry {mDisplayId = -1, null, mFlags = 0x00000000)}} z ProcessRecord {7307f55 18243: .../u0a226} (pid = 18243, uid = 10226) nie eksportowana z uid 10207

+0

Alibaba Oczywisty: https://github.com/alibaba/weex/blob/4abcd6cf0070c6301ed64d6bbcdef727365f347e/android/playground/app/src/main/AndroidManifest.xml#L49 – Ungoogleable

+0

dość pewny ten sam problem dzieje się z ich aplikacji AliExpress jako dobrze. Gdy wyczyściłem domyślne ustawienia, moje żądania przeglądarki aplikacji ponownie zaczęły działać. –

+0

Naprawdę nie rozumiem, dlaczego to powoduje awarię naszej aplikacji i muszę to naprawić. lol. Jesus Christ –

Odpowiedz

8

z czego wnoszę, że jest to błąd, odpowiadający Alibaba aplikacja. Po pierwsze jest on powiązany z funkcją dokładnego linkowania, która pozwala aplikacjom na otwieranie lokalnego adresu URI. Na przykład: aplikacja quora lub aplikacja reddit. Otworzy się to wewnątrz Quora zamiast Chrome, aby zwiększyć wygodę.

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

Coś takiego. Podejrzewam, że aplikacja alibaba przekierowałaby wszystkie hosty do swojej aplikacji. Mogli swobodnie używać symboli wieloznacznych, które spowodowałyby otwarcie ich aplikacji z dosłownie dowolnego adresu URL. Również awarię spowodowało odmowa pozwolenia. Dzieje się tak, gdy próbujesz otworzyć nie wyeksportowaną aktywność z kontekstu poza aplikacją.

PS: Krótko mówiąc, jest to wyłącznie problem związany z aplikacją alibaba B2B. Można to naprawić tylko z ich strony. Spróbuj wyczyścić domyślne ustawienia i przekierować wszystkie adresy URL z powrotem na chrome, ponieważ Android prosi o wybór domyślnej aplikacji dla dowolnego URI.

+0

Ponieważ ich aktywność nie jest eksportowana, system operacyjny zgłasza wyjątek, ale powoduje awarię innych aplikacji. Myślę, że Android nie powinien być zależny od tylko jednej aplikacji, w tym przypadku Alibaba. – Ungoogleable

+0

Widzisz tam atrybut hosta? Co się stanie, jeśli zastąpię go symbolem wieloznacznym? Ale Android nie zezwoli na to. Prostym rozwiązaniem jest otwarcie menu Aplikacje w Ustawieniach i naciśnięcie ikony koła zębatego w prawym górnym rogu paska akcji. Na ekranie nowych ustawień kliknij linki otwierające i zmień otwarte linki w tej aplikacji domyślnie na Pytaj za każdym razem. To rozwiązałoby problem. –

+1

To może pomóc, ale nie możesz poprosić użytkowników o zrobienie tego w swoich aplikacjach ?! Wszystkie pozostałe aplikacje ulegają awarii, jeśli spróbujesz otworzyć łącze. IMHO, Android musi to naprawić. – Ungoogleable