如何处理 ActionAppNotificationSettings?

Posted

技术标签:

【中文标题】如何处理 ActionAppNotificationSettings?【英文标题】:How to handle the ActionAppNotificationSettings? 【发布时间】:2020-12-28 23:48:15 【问题描述】:

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

这里有什么问题?

【问题讨论】:

【参考方案1】:

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


【讨论】:

首先,谢谢您的回复,但是我遇到了和上面一样的问题,错误看起来像这样:No Activity found to handle Intent act=android.settings.APP_NOTIFICATION_SETTINGS flg=0x10000000 (有额外的) 这是我的测试样本,请查看:sample. 这与我所拥有的非常相似,但它仍然会引发错误。您是否认为,我的机顶盒可能根本没有打开该特定意图所需的处理程序? 我的样本对你有用吗?您能否分享一下您可以重现该问题的代码示例? 我下载了你的项目,运行它,同样的错误: android.Content.ActivityNotFoundException: 'No Activity found to handle Intent act=android.settings.APP_NOTIFICATION_SETTINGS flg=0x10000000 (有额外) '

以上是关于如何处理 ActionAppNotificationSettings?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 UsernameNotFoundException 春季安全

如何处理c#中的错误代码

Akka 如何处理消息版本?

开玩笑测试 - 如何处理 JsonWebToken 响应

如何处理 JSON 响应

“不知道如何处理' nvcc 致命错误