2016-01-14 1 views
0

Предположим, что у нас есть активность по разрешению внешних URL-ссылок с помощью параметра pathPrefix. Это не проблема. Проблема заключается в том, чтобы иметь способ сделать эти ссылки разрешимыми только с моим приложением. Например: У нас есть это намерение фильтрКак использовать только мое приложение для URL-адреса целевого фильтра с определенным префиксом?

<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="example.com" 
     android:pathPrefix="/specific_prefix/" 
     android:scheme="http" /> 
</intent-filter> 

И я хочу только мое приложение будет использоваться, например, для «example.com/specific_prefix/etc». Если это возможно?

+0

Вы можете обрабатывать хост/путь в действии с помощью java? – HCarrasko

ответ

1

И я хочу, чтобы только мое приложение использовалось, например, для примера example.com/specific_prefix/etc. Если это возможно?

No.

Во-первых, как интерпретируются URL-адреса до приложения, интерпретирующего URL. Некоторые веб-браузеры, когда они сталкиваются с адресом http, всегда будут обрабатывать его самостоятельно, вместо того, чтобы видеть, поддерживает ли стороннее приложение его поддержку.

Во-вторых, в случаях, когда есть два или более приложений, которые утверждают, что поддерживают определенную операцию, пользователь выбирает, какой из них использовать. В вашем случае веб-браузеры и ваше приложение будут требовать обработки этого URL-адреса, и пользователь может выбрать любой из тех, который хочет пользователь.

С Android app links вы можете избежать выбора по умолчанию, поэтому, если бы появился выборщик, пользователь будет отправлен прямо в ваше приложение. Однако пользователь может отключить это в настройках.

+0

Спасибо. Я видел это решение для 6.0, но это не подходит для нас. Если у вас есть другие предложения или решения, я буду очень благодарен. Единственная цель, которую мы хотим достичь, - это возможность открыть наше приложение, если оно присутствует на телефоне с некоторыми ссылками, отправленными смс или некоторыми социальными лицами. Это только решение, которое я нашел, поэтому, если у вас есть какие-либо советы, сообщите мне. – sttimchenko

+0

@StanislavTimchenko: «Единственная цель, которую мы хотим достичь, - это возможность открыть наше приложение, если оно присутствует на телефоне с некоторыми ссылками, отправленными смс или некоторыми социальными лицами» - у вас уже есть это. Ваш вопрос не спрашивает о том, как это сделать. Ваш вопрос заключается в том, как заставить всех других разработчиков приложений и всех пользователей всегда использовать ваше приложение для этих ссылок, и это то, что вы не можете сделать. – CommonsWare

+0

Да, я знаю. Мой вопрос был, если есть другие способы сделать это. И как я понял - нет. Но спасибо, теперь все ясно. Я буду отмечать ваш вопрос, как принято, это единственный и самый подходящий ответ. – sttimchenko

Смежные вопросы