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;
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() {
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"),