Android Deep Linking с пользовательским URI
В моем манифесте определено следующее:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.package">
...
<activity
android:name="app.myActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<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.example.com"
android:pathPrefix="/gizmos"
android:scheme="http" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos”-->
<data
andr,oid:host="gizmos"
android:scheme="example" />
</intent-filter>
</activity>
...
И я определил мой onCreate () как таковой:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri data = intent.getData();
if (data != null) {
Log.d("URI",data.toString());
}
}
Это соответствует документации Android:Android Deep Linking
Итак, вопрос:
Как я могу проверить URI глубокую связь? По документации я запускаю что-то вроде
Оболочка adb запускается -W -a android.intent.action.VIEW -d "пример: // gizmos" com.app.package
Но это производит:
Ошибка: действие не запущено, не удается разрешить намерение {act = android.intent.action.VIEW dat = пример: // gizmos flg = 0x10000000 pkg = com.app.package}
Я также попробовал оболочку с именем и ссылкой на действие, активностью запуска и оставил пакет пустым. Единственное, что я могу заставить работать:
Оболочка adb am -w -a android.intent.action.VIEW -d "http://www.example.com/gizmos"
Но даже если мне это удастся, это не значит, что оно будет работать в других приложениях. Пользовательские URI (например, пример: // gizmos) не активируются в других приложениях, таких как Gmail и WhatsApp, поэтому тестирование в экосистеме Android также проблематично.
Ответв этом вопросе переполнения стека неприемлемо, поскольку не отвечает на вопрос, а только поощряет использование версии http: //, я хочу, чтобы схема example: // работала.