Я пытаюсь использовать Intent-Filter для захвата, когда браузер перенаправляется на страницу, подтверждающую процесс авторизации (окончательный URL для теста - "http://shapp.sytes.net:8080/callback/loginsuccessful?client_id=...".
Но я могу открыть собственный браузер из приложения, он переходит на страницу авторизации, перенаправляется по ссылке выше, но мой фильтр намерений не перехватывает перенаправление.
Можно ли это сделать, и я что-то упускаю?
Попробовал несколько вариантов кода ниже. А также попытался начать свою деятельность через ADB.
Получите эту ошибку: Ошибка: действие не запущено, не удалось разрешить Intent {act = android.intent.action.VIEW dat = http://shapp.sytes.net:2080/... flg = 0x10000000 pkg = com.companyname.oauthnativeflow}
[Activity(Label = "CustomUrlSchemeInterceptorActivity", NoHistory = true,
LaunchMode = LaunchMode.SingleTop)]
[IntentFilter(
new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataSchemes = new[] { "http"},
DataHosts = new [] { "shapp.sytes.net:2080"},
//DataPath = "/Callback",
DataPathPrefix ="/callback")]
public class CustomUrlSchemeInterceptorActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Convert Android.Net.Url to Uri
var uri = new Uri(Intent.Data.ToString());
// Load redirectUrl page
AuthenticationState.Authenticator.OnPageLoading(uri);
Finish();
}
}
Точка останова в методе OnCreate никогда не активируется.
Есть мысли?