Android 如何处理ActionAppNotificationSettings?

Android 如何处理ActionAppNotificationSettings?,android,xamarin,android-intent,notifications,settings,Android,Xamarin,Android Intent,Notifications,Settings,我有一个xamarin应用程序,并且习惯于打开特定的设置页面 设置->应用->特殊应用访问->通知访问 我了解了意图,对于正常设置,它看起来如下所示: var intent = new Intent(Android.Provider.Settings.ActionNotificationListenerSettings); // ActionAppNotificationSettings <-- does not work // ActionManageOverlayPermission

我有一个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);

这里有什么问题?

您应该使用
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);

}

首先,感谢您的回复,但我遇到了与上面提到的相同的问题,错误如下:未找到可处理意图的活动{act=android.settings.APP_NOTIFICATION_settings flg=0x10000000(具有额外功能)这是我的测试示例,请检查:。这与我所拥有的非常相似,但仍然会抛出错误。您是否认为,我的机顶盒可能没有打开该特定意图所需的处理程序?我的示例在您这边有效吗?您能与我共享您的代码示例吗?我下载了d您的项目,并运行它,它是相同的错误:android.Content.ActivityNotFoundException:“没有找到可处理意图的活动{act=android.settings.APP_NOTIFICATION_settings flg=0x10000000(有附加项)}”
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);

}