【问题标题】:Android Rivets Applink Data Always NullAndroid铆钉Applink数据始终为空
【发布时间】:2017-02-13 17:50:52
【问题描述】:

我正在使用带有 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,成功打开了我的activity。但是,Intent.HasExtra("al_applink_data") 始终为 false,而 Intent.GetStringExtra("al_applink_data") 始终为空。 Intent.Data.ToString();用参数显示我的内容。我是 C# 中 Rivets 和 Android 编程的新手。为什么这总是 false 和 null?

【问题讨论】:

    标签: c# android android-intent applinks rivets


    【解决方案1】:

    试试这样:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多