众所周知,Android 13 引入了运行时通知权限。这是关于此的 Android 开发者文档。
我们已经有一个启动页面,在 iOS 中显示通知权限提示。我们只需为 Android 13 上的所有用户执行此操作即可。
阅读文档后,我添加了以下内容:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
但是我似乎找不到提示Android用户的方法。有谁在这方面取得了成功/可以指出我正确的方向吗?
此外,我们注意到所有升级到 Android 13 的用户都默认关闭了通知。有没有办法可以在设置中添加通知权限的链接?
我目前正在使用这个来实现这一点,在你的 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);
}
}
使用 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);