需要加入這個權限:
<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 },