Xamarin - Android 13 通知权限提示

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

众所周知,Android 13 引入了运行时通知权限。这是关于此的 Android 开发者文档

我们已经有一个启动页面,在 iOS 中显示通知权限提示。我们只需为 Android 13 上的所有用户执行此操作即可。

阅读文档后,我添加了以下内容:

<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

但是我似乎找不到提示Android用户的方法。有谁在这方面取得了成功/可以指出我正确的方向吗?

此外,我们注意到所有升级到 Android 13 的用户都默认关闭了通知。有没有办法可以在设置中添加通知权限的链接?

xamarin xamarin.android
2个回答
10
投票

我目前正在使用这个来实现这一点,在你的 MainActivity 中放置这个

protected override void OnStart()
        {
            base.OnStart();
            const int requestLocationId = 0;

            string[] notiPermission =
            {
                Manifest.Permission.PostNotifications
            };

            if ((int)Build.VERSION.SdkInt < 33) return;

            if (this.CheckSelfPermission(Manifest.Permission.PostNotifications) != Permission.Granted)
            {
                this.RequestPermissions(notiPermission, requestLocationId);
            }
        }

0
投票

使用 Xamarin.Essentials 开发 Android 13。

    Intent intent = new Intent(Android.Provider.Settings.ActionManageWriteSettings);
    intent.SetData(Android.Net.Uri.Parse($"package:{Android.App.Application.Context.PackageName}"));
    intent.AddFlags(ActivityFlags.NewTask);
    Android.App.Application.Context.StartActivity(intent);
© www.soinside.com 2019 - 2024. All rights reserved.