当前位置: 首页 > 知识库问答 >
问题:

Xamarin。Android-FirebaseInstancedService已弃用,OnNewToken()无法工作

毕泽宇
2023-03-14

我想在我的Xamarin Android项目中实现来自Firebase MessagingService的OnNewToken()方法,该项目使用Firebase Cloud消息传递,因为Firebase InstanceIdServiceOnTokenRe刷新()已弃用。

我试过这个

    [Service]
    [IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
    public class MessagingService : FirebaseMessagingService
    {
        const string TAG = "MyFirebaseMsgService";
        public override void OnNewToken(string token)
        {
            Log.Debug(TAG, "Refreshed token: " + token);
            SendRegistrationToServer(token);
        }

        public void SendRegistrationToServer(string token)
        {
            ...
        }

    }

但是我的OnNewToken()没有命中。我在做什么。我需要在我的Android清单文件中包含任何内容吗?我找不到任何特定于Xamarin Android的关于此更新的文档。请帮忙。非常感谢你。

此外,请提供从活动中获取令牌的方法。谢谢

共有1个答案

杨宏儒
2023-03-14
public class MyActivity : AppCompatActivity, Android.Gms.Tasks.IOnSuccessListener
{
        public void OnSuccess(Java.Lang.Object result)
        {
                var token = result.Class.GetMethod("getToken").Invoke(result).ToString();
                Log.Debug(TAG, "InstanceID token: " + token);
        }
}

只需打电话

FirebaseInstanceId.Instance.GetInstanceId().AddOnSuccessListener(this);
 类似资料:
  • 我有一个警告:FragmentPagerAdapter已弃用。这是我的代码: 我在这里找到了一个可能的解决方案:片段页面适配器已弃用 但它在Kotlin中。 警告的字眼是:超级

  • Android Studio SDK 30 Gradle 7 我可以收到通知。 但无法获取设备令牌:( Android不让我使用它 我有我的androidManifest 内置。gradle我有 在模块级 在创建的类中 我有 但这一点从未触发,日志猫从未显示“newToken”:( 有人知道如何解决这个问题吗?

  • 我更新了我的应用程序,使用了最新的支持库(23.0.0版),我发现他们不推荐使用Fragment类的onAttach()函数。 而不是: 现在是: 由于我的app使用的是弃用前通过的活动,我认为一个可能的解决方案是: 点击这里查看我几周前打开的bug报告,以及谷歌的人给出的答案。

  • 不推荐使用。从这里读取文档时,它告诉您使用和。 的正确方法是什么? 是否需要在中使用并在中使用重新设置??

  • 已被弃用。从这里阅读文档会告诉你如何使用和。 添加和删除OnScrollListener的正确方法是什么? 我是否需要使用中的,然后使用中的再次设置它??

  • 我已经创建了一个webview应用程序,在那里我扫描二维码。在移动和桌面浏览器上一切正常,但在应用程序中,我得到。 我在下面分享一些代码: 我也尝试了这里和这里建议的解决方案,但它对我不起作用。