Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Android:接收Firebase通知令牌_Android_Firebase_Xamarin_Notifications_Token - Fatal编程技术网

Xamarin Android:接收Firebase通知令牌

Xamarin Android:接收Firebase通知令牌,android,firebase,xamarin,notifications,token,Android,Firebase,Xamarin,Notifications,Token,当应用程序首次安装时,我可以从onRefreshToken接收刷新令牌。当我重新编译并运行应用程序而不删除应用程序(例如更新)时,应用程序不再从Azure通知中心接收通知。我怀疑令牌已更改,但未调用onRefreshToken if (FirebaseApp.GetInstance(FirebaseApp.DefaultAppName) == null) { FirebaseOptions options = new FirebaseOptions.Bui

当应用程序首次安装时,我可以从onRefreshToken接收刷新令牌。当我重新编译并运行应用程序而不删除应用程序(例如更新)时,应用程序不再从Azure通知中心接收通知。我怀疑令牌已更改,但未调用onRefreshToken

if (FirebaseApp.GetInstance(FirebaseApp.DefaultAppName) == null)
        {
            FirebaseOptions options = new FirebaseOptions.Builder()
                .SetApplicationId(GetString(Resource.String.fcmAppId))
                .SetApiKey(GetString(Resource.String.fcmApiKey))
                .SetGcmSenderId(GetString(Resource.String.fcmGCMSenderId))
                .Build();

            FirebaseApp.InitializeApp(Android.App.Application.Context, options);
        }


    [Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class MyFirebaseInstanceIdService : FirebaseInstanceIdService
{
    const string TAG = "MyFirebaseInstanceIdService";

    public override void OnTokenRefresh()
    {
        var refreshedToken = FirebaseInstanceId.Instance.Token;
        Settings.NotificationToken = refreshedToken;
        Settings.HasInstalledWithNH = false;
        Android.Util.Log.Debug(TAG, "Refreshed token: " + refreshedToken);
        SendRegistrationToServer(refreshedToken);
    }

我需要调用FirebaseInstanceId.Instance并删除令牌,以便应用程序可以接收新令牌