You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin中FirebaseInstallations的AddOnSuccessListener需传入什么参数?

解决FirebaseInstallations的AddOnSuccessListener参数问题
  • 你可以直接传入this(当前的MainActivity实例),但需要让你的MainActivity实现**IOnSuccessListener<string>**接口——因为FirebaseInstallations.GetId()返回的是针对字符串类型结果的任务,对应的监听器需要处理字符串类型的返回值。

  • 示例代码改造步骤:

    1. 让MainActivity实现对应接口:
      public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity, Android.Gms.Tasks.IOnSuccessListener<string>
      {
          // 保留原有代码...
      
          public void OnSuccess(string result)
          {
              // 在这里处理获取到的Firebase安装ID,替换成你原处理FirebaseInstanceId返回值的逻辑
          }
      }
      
    2. 调用GetId()时传入this:
      if (DeviceInstallationService.NotificationsSupported)
      { 
          FirebaseInstallations.GetInstance(Firebase.FirebaseApp.Instance)
              .GetId()
              .AddOnSuccessListener(this);
      }
      
  • 另外,推荐使用C#异步/await语法替代监听器,代码更简洁易读:

    if (DeviceInstallationService.NotificationsSupported)
    { 
        var installationId = await FirebaseInstallations.GetInstance(Firebase.FirebaseApp.Instance)
            .GetIdAsync();
        // 处理获取到的installationId
    }
    

内容的提问来源于stack exchange,提问作者Anna Melashkina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 05:36:02