gpt4 book ai didi

java - 自动静音 Android N 及更高版本

转载 作者:行者123 更新时间:2023-12-02 11:15:19 25 4
gpt4 key购买 nike

我正在构建一个 Android 应用程序,我需要将用户的手机置于静音模式。我正在使用不同的方法,并且它在 Android M(级别 23)之前运行良好。现在我们都知道,Android 在 Android N 及更高版本中更新了自动静音模式的策略,并且需要“请勿打扰访问”的特殊许可才能将手机置于静音模式。我也对 android N 和更高版本的操作系统做了同样的事情。但它仍然不能在 android N 及更高版本上运行。当我执行所有这些操作时,它不会给我任何错误,但它仍然无法正常工作。我附上下面的代码 fragment ,看看并尝试找出问题所在。谢谢各位 friend 。

我授予应用程序“请勿打扰”访问权限的代码 fragment

public void onRingerPermissionsClicked(View view) {
Intent intent = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
intent = new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
}
startActivity(intent);
}

Do Not Disturb Access Screenshot

手机静音的方法

setRingerMode(context, AudioManager.RINGER_MODE_SILENT);

方法 setRingerMode()

private void setRingerMode(Context context, int mode) {
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// Check for DND permissions for API 24+
if (android.os.Build.VERSION.SDK_INT < 24 ||
(android.os.Build.VERSION.SDK_INT >= 24 && !nm.isNotificationPolicyAccessGranted())) {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(mode);
}
}

最佳答案

您的方式仅适用于API<23,API 23之后您需要使用通知管理器将手机设置为“免打扰模式”,具体操作方法如下。

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE);

您是否在Manifest文件中添加了通知策略的权限?如果没有,则添加此内容,

<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />

您需要打开单独的对话框来获取免打扰模式权限,您可以按照以下步骤操作,

//检查是否已授予应用通知策略访问权限。

NotificationManager mNotificationManager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
if (!mNotificationManager.isNotificationPolicyAccessGranted()) {
Intent intent = new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
startActivity(intent);
}

关于java - 自动静音 Android N 及更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50323050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com