如何处理 ActionAppNotificationSettings?

How to handle the ActionAppNotificationSettings?

我有一个 xamarin 应用程序,不会打开特定的设置页面。

设置 -> 应用 -> 特殊应用访问 -> 通知访问

我发现了意图,对于正常设置,它看起来像这样:

var intent = new Intent(Android.Provider.Settings.ActionNotificationListenerSettings);
// ActionAppNotificationSettings  <-- does not work
// ActionManageOverlayPermission  <-- does not work 
// ActionNotificationListenerSettings  <-- does not work
// ActionApplicationDetailsSettings <-- works
intent.AddFlags(ActivityFlags.NewTask);
var uri = Android.Net.Uri.FromParts("package", Application.Context.PackageName, null);
intent.SetData(uri);
Application.Context.StartActivity(intent);

我只能用ActionApplicationDetailsS​​ettings打开普通的设置页面 但我猜想 ActionNotificationListenerSettings 应该打开我想要的位置(我不知道它是否确实打开了这个:设置 -> 应用 -> 特殊应用访问 -> 通知访问)

但是使用 ActionNotificationListenerSettings,应用会抛出此错误:

No Activity found to handle Intent { act=android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS

这里有什么问题?

您应该使用 ActionAppNotificationSettings 而不是 ActionNotificationListenerSettings。这是代码示例:

public void goToSetting()
{

    //startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

    var intent = new Intent(Android.Provider.Settings.ActionAppNotificationSettings);

    intent.AddFlags(ActivityFlags.NewTask);
    intent.PutExtra(Android.Provider.Settings.ExtraAppPackage, Application.Context.PackageName);
    intent.PutExtra(Android.Provider.Settings.ExtraChannelId, Application.Context.ApplicationInfo.Uid);

    StartActivity(intent);

}