Url 打开 Android 应用程序
Url to open Android application
我目前正在使用 Xamarin Forms 开发一个应用程序,我希望能够从一个简单的 url.
打开它
在 iOS 部分工作正常,但在 Android 上,当我尝试从 chrome 到达我的 url 时没有任何反应。
这是我的主要内容Activity:
[Activity(Label = "Lockers", Icon = "@drawable/logo", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter(new[] { Android.Content.Intent.ActionView },
DataScheme = "http",
DataHost = "random.com",
DataPathPrefix = "/test",
Categories = new[] { Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
UserDialogs.Init(this);
global::Xamarin.Forms.Forms.Init(this, bundle);
App _app = new App();
LoadApplication(_app);
if (Intent.HasExtra("al_applink_data"))
{
var appLinkData = Intent.GetStringExtra("al_applink_data");
var alUrl = new Rivets.AppLinkUrl(Intent.Data.ToString(), appLinkData);
// InputQueryParameters will contain our product id
if (alUrl != null && alUrl.InputQueryParameters.ContainsKey("id"))
{
var id = alUrl.InputQueryParameters["id"];
NavigationPage nav = _app.MainPage as NavigationPage;
InputPage page = nav.Navigation.NavigationStack[0] as InputPage;
page.GenerateContentFromUri(id);
}
}
}
}
当我尝试从 chrome 应用访问 http://random.com/test url 时,这通常会建议从应用打开 link 或继续 chrome, 但什么也没有发生,它只是进入网站,就好像 intent-filter 被忽略了一样。
你们知道我可能遗漏了什么吗?
没关系,一切都很好,我只是想直接在 chrome 的导航栏中输入我的 url。
要从 url 打开应用程序,应通过单击 link 使其运行来完成
我目前正在使用 Xamarin Forms 开发一个应用程序,我希望能够从一个简单的 url.
打开它在 iOS 部分工作正常,但在 Android 上,当我尝试从 chrome 到达我的 url 时没有任何反应。
这是我的主要内容Activity:
[Activity(Label = "Lockers", Icon = "@drawable/logo", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter(new[] { Android.Content.Intent.ActionView },
DataScheme = "http",
DataHost = "random.com",
DataPathPrefix = "/test",
Categories = new[] { Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
UserDialogs.Init(this);
global::Xamarin.Forms.Forms.Init(this, bundle);
App _app = new App();
LoadApplication(_app);
if (Intent.HasExtra("al_applink_data"))
{
var appLinkData = Intent.GetStringExtra("al_applink_data");
var alUrl = new Rivets.AppLinkUrl(Intent.Data.ToString(), appLinkData);
// InputQueryParameters will contain our product id
if (alUrl != null && alUrl.InputQueryParameters.ContainsKey("id"))
{
var id = alUrl.InputQueryParameters["id"];
NavigationPage nav = _app.MainPage as NavigationPage;
InputPage page = nav.Navigation.NavigationStack[0] as InputPage;
page.GenerateContentFromUri(id);
}
}
}
}
当我尝试从 chrome 应用访问 http://random.com/test url 时,这通常会建议从应用打开 link 或继续 chrome, 但什么也没有发生,它只是进入网站,就好像 intent-filter 被忽略了一样。
你们知道我可能遗漏了什么吗?
没关系,一切都很好,我只是想直接在 chrome 的导航栏中输入我的 url。
要从 url 打开应用程序,应通过单击 link 使其运行来完成