Я исследовал большую часть вопросов и ответов по пользовательской схеме URL-адресов и не нашел своего возможного ответа.
Я хочу, чтобы мое приложение запускалось, щелкнув определенный URL-адрес в браузере (любой на мобильном устройстве), дело в том, что мой данный URL-адрес нельзя изменить, поскольку он также обслуживает приложение IOS, и это выглядит так:
"myapp://http://www.name.com/path/path2/"
Я не уверен, как обрабатывать "myapp://http://" и создавать правильный фильтр намерений, и все, что я пробовал, не работает. Любая помощь будет оценена по достоинству, и если я пропустил соответствующий ответ, пожалуйста, за исключением моих извинений.
Это то, что я пробовал до сих пор:
<activity
android:name="com.myapp.test.SplashScreen"
android:exported="true"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Test for URL scheme -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.name.com"
android:path="/path/path2/"
android:scheme="http" />
<data
android:host="www.name.com"
android:path="/path/path2/"
android:scheme="https" />
<data android:scheme="myapp" />
</intent-filter>
<!-- End Test for URL scheme -->
</activity>
Примечание. я пробовал с/без exported:true
Uri
, я очень сомневаюсь, что она будет работать. Вам будет проще изменить свое приложение iOS, чтобы использовать что-то, что является допустимым URI. - person CommonsWare   schedule 07.08.2013http://
будет считаться хостом. В худшем случае вашUri
просто не сможет разобрать. И я могу придумать еще несколько вариантов. В классеUri
есть только одна схема — классUri
не допускает более одной. - person CommonsWare   schedule 07.08.2013