Во-первых, вы должны прочитать документацию для этого: Intents and Intent Filters. В частности, раздел «Получение неявного намерения».
Как указывали другие, использование специальной схемы для этого имеет проблемы.
- Они не всегда рассматриваются как ссылки
- Вы не владеете им, как у вас есть доменное имя (хоста).
Таким образом, вы должны определить активность в вас манифесте с намерением фильтра для хоста и использовать реальную схему. См. Разделы «Тестирование действий», «Тест категории» и «Проверка данных» документации Intent & Intent Filters, чтобы узнать, как настроить это для вашего конкретного варианта использования.
<activity android:name="com.example.app.ActivityOne">
<intent-filter>
<data android:scheme="http"/>
<data android:host="example.com"/>
<data android:path="/activityone"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>
Тогда вы сможете использовать ссылку, как показано ниже.
http://example.com/activityone?foo=bar
Поскольку это ссылка HTTP система предложит пользователю выбрать приложение, чтобы открыть его (приложение или предпочитаемого браузера). Если они выберут ваше приложение, он запустит ActivityOne, который может получить данные запроса так.
public class ActivityOne extends Activity {
@Override
public void onResume() {
super.onResume();
Intent intent = getIntent();
Uri uri = intent.getData();
String foo = uri.getQueryParameter("foo");
}
}
Если вы используете пользовательскую схему в намерениях фильтра, то вы (скорее всего) будет единственным приложением зарегистрирован для обработки этого намерения, и пользователь не должен будет выбрать приложение. Тем не менее, вам будет гораздо сложнее включить ссылку с пользовательской схемой в электронном письме. Большинство почтовых клиентов не узнают ничего с помощью специальной схемы в качестве ссылки, и она не будет доступна для кликов.
'' link –
Это не работает, когда встроенное в электронной почте –
Для совместимости электронной почты, использовать реальные Deeplink или хромовые намерения: https://developer.chrome.com/multidevice/android/intents –