Я работаю со строками и хочу захватить дополнительные ссылки на основе варианта. Я хочу, чтобы все варианты, чтобы захватить ссылки от хозяина один, так что я объявил intent-filter
в моем основном AndroidManifest.xml
файле следующим образом:Android-соединение с несколькими хост-фильтрами и манифестное слияние не работает
<activity android:name=".activity.DeepLinkActivity"
android:noHistory="true">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="hostOne.com" android:path="/page.aspx" android:scheme="http"/>
</intent-filter>
</activity>
Я также генерирование частичного манифеста для других вариантов, таких как hostTwo.com как так:
<?xml version="1.0" encoding="UTF-8"?><manifest package="com.package.my.domain">
<application xmlns:android="http://schemas.android.com/apk/res/android" android:name="AlarmMobile">
<activity android:name=".activity.DeepLinkActivity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http://" android:host="hostTwo.com" android:path="/page.aspx"/>
</intent-filter>
</activity>
</application>
</manifest>
Он помещен в соответствующем названии папки в соответствии с вариантом (based upon the documentation here) сборки и слился манифест зрения Android студии показывает, что intent-filter
для хозяина два добавлен окончательным слит манифест, однако, эмулятор или фактическое устройство не захватить намерения, предназначенные для второй хост.
Я генерации намерения как и в командной строке:
adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "http://hostone.com/page.aspx"
, который работает для hostone, но делать
запустит браузер, потому что приложение не сможет захватить его.
Ссылки на приложения для Android работают только для одного имени хоста? Есть ли что-нибудь еще, что я могу попробовать?
Проверьте сгенерированный AndroidManifest файл (открыть файл APK в Android Studio) –
'хост = "hostOne.com"' ' хост = "hostTwo"' Может ли эта небольшая разница быть проблемой? (Вы пропустите .com) В моем случае я использую один фильтр намерений с двумя для разных хостов. – Michael
@ Майкл, это была ошибка с моей стороны, когда я редактировал фактические сайты, используемые :) Если положить все теги данных в одно объявление-декларации намерения, я мог бы отказаться от этого в частичном манифесте, но я бы скорее не так, мне не нужно генерировать один для каждого сочетания аромата/варианта –