[英]Android Rivets Applink Data Always Null
我在Android上使用Rivets打開我的應用程序並從網頁獲取數據。 我的onCreate方法中包含以下內容。
if (Intent.HasExtra("al_applink_data"))
{
var data = Intent.Data.ToString();
var appLinkData = Intent.GetStringExtra("al_applink_data");
var alUrl = new Rivets.AppLinkUrl(data, appLinkData);
// InputQueryParameters will contain our token
if (alUrl != null && alUrl.InputQueryParameters.ContainsKey("an"))
{
_token = alUrl.InputQueryParameters["an"];
}
else
{
// No token found
}
}
我的活動在頂部有此過濾器。
[IntentFilter(new[] { Intent.ActionView },
DataScheme = "test",
DataHost = "test",
Categories = new[]
{
Intent.CategoryDefault, Intent.CategoryBrowsable
})]
我的測試內容是test:// test?an = 1234,它成功打開了我的活動。 但是,Intent.HasExtra(“ al_applink_data”)始終為false,而Intent.GetStringExtra(“ al_applink_data”)始終為null。 Intent.Data.ToString(); 用參數顯示我的內容。 我是C#的鉚釘和Android編程的新手。 為什么這總是false和null?
嘗試這樣:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(....);
if (Intent != null)
{
OnNewIntent(Intent);
}
}
protected override void OnNewIntent(Android.Content.Intent intent)
{
base.OnNewIntent(intent);
var appLinkData = intent.GetStringExtra("al_applink_data");
AppLinkUrl alUrl = null;
if (appLinkData != null)
{
alUrl = new Rivets.AppLinkUrl(intent.Data.ToString(), appLinkData);
}
if (alUrl != null) {
// LAUNCH URI
}
}
記住要使用OnNewIntent方法中傳遞的(小寫)“ intent”參數:
intent.GetStringExtra(“ al_applink_data”)---->包含數據Intent.GetStringExtra(“ al_applink_data”)---->返回null。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.