Android 当存在双卡时,移动网络默认为SIM卡1

一、当Android设备中存在双卡时,移动网络默认为SIM卡1

完成这个需求有以下两个修改点:

   下面依旧是Android13 MTK平台,在MtkMultiSimSettingController.java的updateDefaults()方法中将移动网络设置为SIM1。

   除此之外,当存在双卡时,开机进入到Launcher界面时,首先就会出现一个对话框让我们去选择使用SIM卡1还是SIM卡2。所以当我们设置为默认SIM卡1之后,这个弹窗我们也需要去除掉。

  1. 可以加入自己的判断,直接将autoFallbackEnabled重新赋值
  2. 也可以在frameworks/base/core/res/res/values/config.xml,修改config_voice_data_sms_auto_fallback

二、下面是完整的代码路径和修改点

system/vendor/mediatek/proprietary/frameworks/opt/telephony/src/java/com/mediatek/internal/telephony/MtkMultiSimSettingController.java
    @Override
    protected void updateDefaults() {
    	//........省略多余代码.........
    
        boolean dataSelected = updateDefaultValue(mPrimarySubList,
                mSubController.getDefaultDataSubId(),
                (newValue ->{
                
                    // The default mobile network is SIM 1
                    int defaultSubId = mSubController.getDefaultDataSubId();
                    if(defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID){
                        int subId1 = mSubController.getSubIdUsingPhoneId(0);
                        if(subId1 == newValue){
                            mSubController.setDefaultDataSubId(newValue);
                        }
                    }
                }));
                // The default mobile network is SIM 1
                
         // Update default voice subscription.
        if (DBG) log("[updateDefaultValues] Update default voice subscription");
        boolean voiceSelected = updateDefaultValue(mPrimarySubList,
               	mSubController.getDefaultVoiceSubId(),
                (newValue -> mSubController.setDefaultVoiceSubId(newValue)));
                
		//........省略多余代码.........
	
        boolean autoFallbackEnabled = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_voice_data_sms_auto_fallback);

        // Based on config config_voice_data_sms_auto_fallback value choose voice/data/sms
        // preference auto selection logic or display notification for end used to
        // select voice/data/SMS preferences.
        
        // Removes the mobile network selection popup begin
        autoFallbackEnabled = true;
        // Removes the mobile network selection popup end
        
        if (!autoFallbackEnabled) {
            sendSubChangeNotificationIfNeeded(change, dataSelected, voiceSelected, smsSelected);
        } else {
            updateUserPreferences(mPrimarySubList, dataSelected, voiceSelected, smsSelected);
        }
    }
越想贴近事实,不明白的事情就越多。

相关推荐

  1. Android 存在移动网络默认SIM1

    2024-05-03 05:50:04       39 阅读
  2. Android 11.0 长按按键切换SIM默认移动数据

    2024-05-03 05:50:04       63 阅读
  3. SIM 移动、联通、电信对比

    2024-05-03 05:50:04       157 阅读
  4. 【开发方案】Android 应用搜网功能

    2024-05-03 05:50:04       45 阅读
  5. Android12.0 SIM语言自适应

    2024-05-03 05:50:04       20 阅读
  6. Android11 MTK 状态栏添加无Sim图标

    2024-05-03 05:50:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-03 05:50:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-03 05:50:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-03 05:50:04       82 阅读
  4. Python语言-面向对象

    2024-05-03 05:50:04       91 阅读

热门阅读

  1. 用智慧树理解spring原理

    2024-05-03 05:50:04       30 阅读
  2. 深入浅出:ChatGPT的训练与优化之道

    2024-05-03 05:50:04       32 阅读
  3. 大数据组件之Storm简介

    2024-05-03 05:50:04       37 阅读
  4. python关键字(pass)

    2024-05-03 05:50:04       26 阅读
  5. 010_redhat安装zookeeper

    2024-05-03 05:50:04       32 阅读
  6. Go图片列表

    2024-05-03 05:50:04       33 阅读
  7. Spring 之 MatchingStrategy

    2024-05-03 05:50:04       38 阅读
  8. 应用zabbix的实时导出(real-time export)功能

    2024-05-03 05:50:04       32 阅读
  9. 定时器使用

    2024-05-03 05:50:04       24 阅读
  10. Web开发之上传图片

    2024-05-03 05:50:04       27 阅读
  11. CANopen学习笔记

    2024-05-03 05:50:04       27 阅读