Start Activity 在 Android 13 中不起作用

问题描述 投票:0回答:0

说明 我正在使用 Firebase Messaging 服务来处理推送通知在点击通知时 Intent OnHandleIntent 方法调用我试图启动启动画面的活动它适用于 Android 10 但不适用于 Android 13 设备。

无论应用程序处于前台、后台还是终止模式,我都会在所有模式下收到通知。

但是当应用程序处于后台或终止模式时,我点击了通知,它没有做任何事情。我将其调试为后台模式,并在 Tapped 通知上到达 onHandleIntent 方法,在该方法中我创建了启动画面的新意图并启动了活动,但该活动没有运行应用程序没有进入前台或调用启动活动代码

重现步骤

  1. 创建通知意图
  2. On Notification Tapped OnHandleIntent 尝试启动任何活动,无论是启动活动还是主要活动 它没有为 Android 13 设备运行

基本信息

  • 安卓:
  • 受影响的设备:Android 13 台设备

代码示例

通知活动

protected override async void OnHandleIntent(Intent intent)
    {
        try
        {

            var notificationManager = (NotificationManager)GetSystemService(Context.NotificationService);
            notificationManager.Cancel(0);

            var action = intent.Extras.GetString("action"); 

            if (string.IsNullOrWhiteSpace(action))
            {
                action = "default";
            }

            var newIntent = new Intent(this, typeof(SplashActivity));

            if (intent?.Extras != null)
            {
                newIntent.PutExtras(intent.Extras);
            }

            newIntent.AddFlags(ActivityFlags.NewTask);
            StartActivity(newIntent);

        }
        catch (System.Exception ex)
        {
           
        }
    }

飞溅活动

public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState)
    {
        base.OnCreate(savedInstanceState, persistentState);
        
    }

    protected override void OnResume()
    {
        base.OnResume();
        var mainActivity = new Android.Content.Intent(Application.Context, typeof(MainActivity));
        if (Intent?.Extras != null)
        {
            mainActivity.PutExtras(Intent.Extras);
        }


        StartActivity(mainActivity);
    }

预期行为

它应该运行将运行主要活动的启动活动,相同的代码适用于 Android 10 设备但不适用于 Android 13

实际行为

OnHandleIntent Start Activity 没有为 Android 13 设备运行任何活动

android xamarin.forms push-notification xamarin.android firebase-cloud-messaging
© www.soinside.com 2019 - 2024. All rights reserved.