reset ring volume.
authorTrillGates <williamtrillgates@gmail.com>
Thu, 7 Oct 2021 07:43:42 +0000 (15:43 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Thu, 7 Oct 2021 07:43:42 +0000 (15:43 +0800)
app/src/main/java/com/enqualcomm/support/service/PhoneCallListener.java

index bc43c07..789d0c5 100644 (file)
@@ -5,6 +5,7 @@ import android.content.ContentValues;
 import android.content.Context;
 import android.database.ContentObserver;
 import android.database.Cursor;
+import android.media.AudioManager;
 import android.net.Uri;
 import android.os.SystemClock;
 import android.telephony.PhoneStateListener;
@@ -28,8 +29,10 @@ public class PhoneCallListener {
 
     private static final String TAG = "PhoneCallListener";
     private final Context mContext;
+    private final AudioManager mAudioManager;
 
     public PhoneCallListener(Context context) {
+        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
         this.mContext = context;
         TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
         telephonyManager.listen(new PhoneStateListener() {
@@ -44,11 +47,25 @@ public class PhoneCallListener {
                         Util.setSystemProperties("persist.sys.call.monitor", "false");
                         ICLogger.d("persist.sys.call.monitor ==>  " + Util.getSystemProperties("persist.sys.call.monitor"));
                     });
+                    updateVolume(100);
                 }
             }
         }, PhoneStateListener.LISTEN_CALL_STATE);
     }
 
+    public void updateVolume(int progress) {
+        ICLogger.d("progress ==> " + progress);
+        //进行换算
+        int volume = (int) (progress * 15.0f / 100);
+        ICLogger.d("volume ==> " + volume);
+        mAudioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, volume, 0);
+        int ringerMode = mAudioManager.getRingerMode();
+        ICLogger.d("ringerMode ==> " + ringerMode);
+        if (ringerMode == AudioManager.RINGER_MODE_NORMAL) {
+            mAudioManager.setStreamVolume(AudioManager.STREAM_RING, volume, 0);
+        }
+    }
+
     public void initObserver() {
         //观察电话本的内容变化
         mContext.getContentResolver().registerContentObserver(Uri.parse("content://call_log/calls"),