liuzhenxing1118 5 tháng trước cách đây
mục cha
commit
2dfc6b107d

+ 3 - 1
app/src/main/java/com/sikey/skcontact/activity/BaseActionActivity.java

@@ -23,7 +23,9 @@ public class BaseActionActivity extends BaseActivity {
     public void callAction(String countryCode, String phoneNumber, String callNumber) {
         Log.d(TAG, "callAction: " + " countryCode:" + countryCode + "  phoneNumber:" + phoneNumber + "  callNumber:" + callNumber );
         //判断是否为紧急号码
-        if (ToolsUtils.isUrgencyNumber(phoneNumber)) {
+        boolean isUrgency = ToolsUtils.isUrgencyNumber(phoneNumber);
+        boolean isFrenchEccContain = ToolsUtils.getSimMccMnc(this).equals("20820") && ToolsUtils.getFrenchEccList().contains(phoneNumber);
+        if (isUrgency || isFrenchEccContain) {
             callNumber = phoneNumber;
         } else {
             //判断是否有sim卡,eSIM、有网络等

+ 23 - 0
app/src/main/java/com/sikey/skcontact/utils/ToolsUtils.java

@@ -6,6 +6,7 @@ import android.graphics.BitmapFactory;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.provider.Settings;
+import android.telephony.TelephonyManager;
 import android.util.Log;
 import android.widget.ImageView;
 
@@ -16,6 +17,7 @@ import com.android.internal.telephony.ITelephony;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Locale;
@@ -77,6 +79,7 @@ public class ToolsUtils {
         return content.substring(content.length() - endCount);
     }
 
+    //法国list
     public static boolean isUrgencyNumber(String value) {
         String[] urgencyNumbers = android.os.SystemProperties.get("ril.ecclist").split(",");
         for (String v : urgencyNumbers) {
@@ -86,6 +89,26 @@ public class ToolsUtils {
         return false;
     }
 
+    //法国 ecc list
+    public static ArrayList<String> getFrenchEccList() {
+        ArrayList<String> ret = new ArrayList<>();
+        ret.add("116000");
+        ret.add("115");
+        ret.add("116117");
+        ret.add("119");
+        ret.add("191");
+        ret.add("197");
+        ret.add("196");
+        return ret;
+    }
+
+    public static String getSimMccMnc(Context context) {
+        TelephonyManager localTelephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
+        return localTelephonyManager.getSimOperator();
+    }
+
+
+
     public static String getCallNumber(String countryCode, String number) {
         if (Macros.DEBUG) {
             return countryCode + number;