微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何处理ActionAppNotificationSettings?

如何解决如何处理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);

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。