From bdb9bc7637a3044669fd0798341968c18e3ed18c Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Wed, 26 Feb 2025 05:08:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=A7=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contacts/build.properties | 4 ++-- .../phonecallui/PhoneCallService.java | 20 +++++-------------- .../studio/contacts/services/MainService.java | 8 +++++--- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/contacts/build.properties b/contacts/build.properties index c6dd70a..ae5615e 100644 --- a/contacts/build.properties +++ b/contacts/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed Feb 26 04:37:17 HKT 2025 +#Tue Feb 25 21:06:27 GMT 2025 stageCount=3 libraryProject= baseVersion=1.0 publishVersion=1.0.2 -buildCount=0 +buildCount=2 baseBetaVersion=1.0.3 diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/phonecallui/PhoneCallService.java b/contacts/src/main/java/cc/winboll/studio/contacts/phonecallui/PhoneCallService.java index b60df64..3786899 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/phonecallui/PhoneCallService.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/phonecallui/PhoneCallService.java @@ -61,7 +61,7 @@ public class PhoneCallService extends InCallService { // 记录原始铃声音量 // AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); - + int ringerVolume = audioManager.getStreamVolume(AudioManager.STREAM_RING); // 恢复铃声音量,预防其他意外条件导致的音量变化问题 // @@ -75,8 +75,10 @@ public class PhoneCallService extends InCallService { // 如果当前音量和应用保存的不一致就恢复为应用设定值 // 恢复铃声音量 try { - audioManager.setStreamVolume(AudioManager.STREAM_RING, bean.getStreamVolume(), 0); - //audioManager.setMode(AudioManager.RINGER_MODE_NORMAL); + if (ringerVolume != bean.getStreamVolume()) { + audioManager.setStreamVolume(AudioManager.STREAM_RING, bean.getStreamVolume(), 0); + //audioManager.setMode(AudioManager.RINGER_MODE_NORMAL); + } } catch (java.lang.SecurityException e) { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); } @@ -114,18 +116,6 @@ public class PhoneCallService extends InCallService { } } - void resumeStreamVolume(AudioManager audioManager, int originalRingVolume) { - // 如果当前音量和应用保存的不一致就恢复为应用设定值 - RingTongBean bean = RingTongBean.loadBean(this, RingTongBean.class); - if (bean == null) { - bean = new RingTongBean(); - } - if (originalRingVolume != bean.getStreamVolume()) { - // 恢复铃声音量 - audioManager.setStreamVolume(AudioManager.STREAM_RING, bean.getStreamVolume(), 0); - } - } - @Override public void onCallRemoved(Call call) { super.onCallRemoved(call); diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/services/MainService.java b/contacts/src/main/java/cc/winboll/studio/contacts/services/MainService.java index 9ad9eec..59b2ba2 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/services/MainService.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/services/MainService.java @@ -81,7 +81,7 @@ public class MainService extends Service { @Override public void run() { AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); - + int ringerVolume = audioManager.getStreamVolume(AudioManager.STREAM_RING); // 恢复铃声音量,预防其他意外条件导致的音量变化问题 // @@ -95,8 +95,10 @@ public class MainService extends Service { // 如果当前音量和应用保存的不一致就恢复为应用设定值 // 恢复铃声音量 try { - audioManager.setStreamVolume(AudioManager.STREAM_RING, bean.getStreamVolume(), 0); - //audioManager.setMode(AudioManager.RINGER_MODE_NORMAL); + if (ringerVolume != bean.getStreamVolume()) { + audioManager.setStreamVolume(AudioManager.STREAM_RING, bean.getStreamVolume(), 0); + //audioManager.setMode(AudioManager.RINGER_MODE_NORMAL); + } } catch (java.lang.SecurityException e) { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); }