修改情景模式,来电铃声增加震动
authorsnickersun <scy@incartech.cn>
Wed, 1 Apr 2020 03:42:39 +0000 (11:42 +0800)
committersnickersun <scy@incartech.cn>
Wed, 1 Apr 2020 03:42:39 +0000 (11:42 +0800)
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/utils/SimSignalUtil.java

index fc25521..f0a94b9 100644 (file)
@@ -6,6 +6,7 @@ import android.app.Notification;
 import android.app.PendingIntent;\r
 import android.app.Service;\r
 import android.content.Intent;\r
+import android.media.AudioManager;\r
 import android.net.wifi.WifiManager;\r
 import android.os.Build;\r
 import android.os.Handler;\r
@@ -118,6 +119,8 @@ public class CoreService extends Service {
     private static boolean is_in_sleep_mode = false;\r
 \r
     private static boolean is_wifi_network_ok = false;\r
+    // SPRD: add outdoorMode\r
+    public static final int RINGER_MODE_OUTDOOR = 3;\r
 \r
     private static ICSmsManager smsManager=null;\r
     public String getServerAlive(){\r
@@ -609,6 +612,10 @@ public class CoreService extends Service {
         needLocateInAfterHeartBeat=true;\r
         setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
 \r
+\r
+        //设置来电模式\r
+        SimSignalUtil.SetRingMode(this, AudioManager.RINGER_MODE_NORMAL,true);\r
+\r
         //备份DB数据到sd cache目录,为调试方便\r
         getDBFile();\r
     }\r
index 8e8a035..613edd5 100644 (file)
@@ -1,9 +1,11 @@
 package com.enqualcomm.support.utils;\r
 \r
+import android.app.Notification;\r
 import android.content.ContentResolver;\r
 import android.content.Context;\r
 import android.content.Intent;\r
 import android.hardware.display.DisplayManager;\r
+import android.media.AudioManager;\r
 import android.net.ConnectivityManager;\r
 import android.net.NetworkInfo;\r
 import android.os.Build;\r
@@ -180,7 +182,27 @@ public class SimSignalUtil {
   public void init() {\r
     this.mNetworkType = ((TelephonyManager)this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType();\r
   }\r
-  \r
+\r
+  public static void SetRingMode(Context context,int mod,boolean vibmod){\r
+    AudioManager am= (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);\r
+    int currentRingmod=am.getRingerMode();\r
+    am.setRingerMode(mod);\r
+    ICLogger.i("Current OldRingMod="+currentRingmod+", Set To RingMod="+mod+", check RingMod="+am.getRingerMode());\r
+\r
+    int curretnVibmod=am.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);\r
+\r
+    if(vibmod){\r
+      Settings.System.putInt(context.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING,1);\r
+      am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);\r
+      am.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_ON);\r
+    } else {\r
+      Settings.System.putInt(context.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING,0);\r
+      am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);\r
+      am.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);\r
+    }\r
+    ICLogger.i("Current OldVibRingMod="+curretnVibmod+", check VibRingMod="+am.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER)+" , shoudl Vib "+am.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER));\r
+\r
+  }\r
   public static boolean isScreenON(Context context) {\r
       // If you use less than API20:\r
       PowerManager powerManager = (PowerManager) context.getSystemService(POWER_SERVICE);\r