首页 > 其他分享 >uniapp android app 铃声静音,真正的免打扰

uniapp android app 铃声静音,真正的免打扰

时间:2023-04-28 20:46:52浏览次数:27  
标签:uniapp AudioManager app audioManager plus importClass let android

需要加入这个权限:

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

代码:

                    /**
             * 设置铃声为静音,媒体音量不变(免打扰)
             * */
            setDisturb()
            {
                // #ifdef APP-PLUS
                var pf = uni.getSystemInfoSync().platform;
                if (pf == "android")
                {
                    let AudioManager = plus.android.importClass('android.media.AudioManager');
                    let Settings = plus.android.importClass('android.provider.Settings');
                    let Intent = plus.android.importClass('android.content.Intent');
                    let NotificationManager = plus.android.importClass('android.app.NotificationManager');
                    let Context = plus.android.importClass('android.content.Context');

                    let main = plus.android.runtimeMainActivity();

                    this.audioManager = main.getSystemService(Context.AUDIO_SERVICE);

                    if (this.audioManager == null)
                    {
                        return;
                    }
                    //console.log(AudioManager.RINGER_MODE_SILENT);//0
                    //console.log(AudioManager.RINGER_MODE_NORMAL);//2
                    //console.log(AudioManager.RINGER_MODE_VIBRATE);//1

                    let n = main.getSystemService(Context.NOTIFICATION_SERVICE);

                    if (n == null)
                    {
                        console.log("n is null");
                        return;
                    }
            //授权
                    if (n.isNotificationPolicyAccessGranted())
                    {
                        this.audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
                        uni.showToast(
                        {
                            title: '已为您开起免打扰模式。',
                            duration: 3000,
                            icon: 'none',
                            mask: false
                        });
                    }
                    else
                    {
                        uni.showToast(
                        {
                            title: '稍后,请授予此应用免打扰权限,然后请再按一次以开启免打扰。',
                            duration: 4500,
                            icon: 'none',
                            mask: false
                        });

                        setTimeout(function()
                        {
                            let intent = new Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
                            main.startActivity(intent);
                        }, 4500);
                    }

                    this.audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
                    var n1 = this.audioManager.getRingerMode()
                }
              

                // #endif
            },
            

 

标签:uniapp,AudioManager,app,audioManager,plus,importClass,let,android
From: https://www.cnblogs.com/HelloQLQ/p/17363098.html

相关文章

  • 20042124_chappie
    [换成自己的源]docker-machinesshdefaultsed-i"s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://2w188x2k.mirror.aliyuncs.com|g"/var/lib/boot2docker/profileexitdocker-machinerestartdefault [打开rknndocker]dockerrun-t-i--privilege......
  • Ext.ux.GMapPanel.js组件的使用 示例
    Ext.ux.GMapPanel.js组件的使用示例 效果: 创建调用的html:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>GMapWindowExample</title><linkrel="stylesheet"type=&......
  • 苹果商店上架流程_App上架苹果流程及注意事项
    苹果商店上架流程_App上架苹果流程及注意事项APP上架是:APP应用从提交审核到上架整个过程。目的是让应用展示在APPStore上获取流量及用户 一、IOS上架整个流程 1、申请开发者账号 2、创建APPID及申请证书 3、itunesconnect创建APP 4、打包上传APP 5、提交......
  • 苹果商店上架流程_App上架苹果流程及注意事项
    苹果商店上架流程_App上架苹果流程及注意事项APP上架是:APP应用从提交审核到上架整个过程。目的是让应用展示在APPStore上获取流量及用户 一、IOS上架整个流程 1、申请开发者账号 2、创建APPID及申请证书 3、itunesconnect创建APP 4、打包上传APP 5、提交......
  • Unity中Android API 28之后无法HTTP请求
    本文节选自洪流学堂公众号技术专栏《大话Unity2019》,未经允许不可转载。洪流学堂公众号回复log,获取最新版运行时查看日志的工具。小新:“最近我升级到AndroidAPILevel28之后,发现发布的安卓包,网络请求都不通了,这是咋回事啊?”大智:“遇到这种问题,调试的时候首先去看日志,你研究运行日......
  • App Store上架流程/苹果app发布流程
     第一步:拥有自己的苹果开发者账号:开发账号分为两类:99美元(发布AppStore用的,也就是上架苹果商店用这个);299美元(企业授信证书,不用上架appstore亦可使用。弊端:证书容易被封,证书包月在500元左右)开发申请详情见链接:第二步:创建相关证书和配置文件:一、了解相关证书之间的区别:登......
  • 诺基亚收购Symbian反击谷歌Android新秩序
    诺基亚:反击谷歌新秩序两家巨头都有充沛的现金,都有对手机、互联网的远大抱负,于是大战不可避免。      智能手机的用户们请注意,大减价时代开始了!      近日,诺基亚宣布以2.64亿欧元收购全球最大的手机操作系统提供商Symbian,并将其免费向其他手机厂商开放。此前,诺......
  • 某app请求参数分析
    前言这篇的前言有点冗长了,赶时间的朋友可以直接跳过。 记得还在读大学的时候,我就开始在网上到处找网络安全相关的知识,吾爱破解,看雪,飘云阁,hack80,i春秋,seebug,知道创宇,补天网啥的,要找个东西,能想到的平台都去搜,找到的虽然基本都很老的东西,但是对于小白的我来说,是真的有用,尤其是i春......
  • 解决 VMware 虚拟机 Linux /dev/mapper/ubuntu--vg-ubuntu--lv 磁盘空间不足的问题
    之前在VMware安装UbuntuServer的时候磁盘分区选择了LVM,所以系统根目录默认占用磁盘大小只有4G,在安装软件时发现磁盘空间4G已经无法满足,所以需要利用LVM对磁盘进行扩容使用Docker拉取MySQL镜像时发现磁盘空间不够:nospaceleftondeviceroot@ubuntu:~#......
  • Unknown run configuration type SpringBootApplicationConfigurationType;Servlet Ser
    UnknownrunconfigurationtypeSpringBootApplicationConfigurationType社区版的idea自己安装插件,去配置大家可分享关于Java微服务相关知识,包括但不限于Java微服务开发经验、架构组成、技术交流、中间件等内容,我们鼓励springcloud架构为基础发散出击,从而达到技术积累的目的,快来沉......