问题描述
设置->应用->特殊应用访问->通知访问
我了解了这个意图,对于普通设置,它看起来像这样:
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);
我只能使用ActionApplicationDetailsSettings打开常规的“设置”页面 但是我猜想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);
}