Перенаправление пользователя из браузера в мое приложение после открытия определенного URL-адреса
Я написал приложение, которое пользователь после нажатия кнопки "купить" он переадресовывает в Internet Browser (например, хром), и после оплаты я хочу, чтобы он вернулся к моему приложению (моя активность), поэтому я узнал, что должен использовать Intent -Фильтер, но это не работает для меня!
Я добавляю эти коды в манифест:
<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="returnApp" android:scheme="myapp"></data>
</intent-filter>
И когда я открываю URL-адрес, например:
MyApp://returnApp статус = 1
мое приложение не открывается.
Ответы
Ответ 1
Попробуйте открыть его, как myapp://returnApp/?status=1
(добавить символ завершающего косая черта).
Это происходит потому, что параметр path задан со значением по умолчанию /
.
К сожалению, вы не можете точно указать пустую строку. Как указано в документации:
Часть пути URI, которая должна начинаться с /.
Если вам действительно нужно запускать приложение с ровным url myapp://returnApp?status=1
, вы можете добавить параметр android:pathPattern=".*"
в предложение данных, например
<intent-filter>
...
<data android:host="returnApp" android:scheme="myapp" android:pathPattern=".*"></data>
</intent-filter>
Фильтр Intent с данными android:pathPattern=".*"
будет соответствовать любым путям, включая пустой.