I am using Rivets with Android to open my app and get data from a webpage. I have the following in my onCreate method.
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
}
}
My activity has this filter at the top.
[IntentFilter(new[] { Intent.ActionView },
DataScheme = "test",
DataHost = "test",
Categories = new[]
{
Intent.CategoryDefault, Intent.CategoryBrowsable
})]
My test content is test://test?an=1234, which successfully opens my activity. However, Intent.HasExtra("al_applink_data") is always false and Intent.GetStringExtra("al_applink_data") is always null. Intent.Data.ToString(); shows my content with the parameter. I am new to Rivets and Android programming in C#. Why might this always be false and null?