Я работаю над настройками предпочтительного режима сети в коде AOSP. Я должен изменить режим сети на 4g, 3g или 2g на основе выбора из пользовательского интерфейса без включения / выключения режима полета или перезагрузки устройства.
Для сценария 2g я устанавливаю NETWORK_MODE_GSM_ONLY, устанавливая сетевой режим на «1». Но, тем не менее, всякий раз, когда я выбираю 2G, он показывает «E» на значке строки состояния и меняется на «3G» всего за 1 или 2 секунды.
mTelephonyManager.setPreferredNetworkType(mSubId, 1);
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.PREFERRED_NETWORK_MODE + mSubId, 1)
Я даже пытался в настройках телефона набрать *#*#4636#*#*
, выбрав «только GSM», поведение также будет таким же. Поведение остается таким же даже после включения / выключения режима полета или перезагрузки устройства.
Пожалуйста, дайте мне знать, если кто-нибудь видел какие-либо проблемы, подобные этой, и где я могу пойти не так.
Я попробовал эту команду " глобальный список настроек оболочки adb | предпочтение findstr ", и ниже был вывод
preferred_network_mode1=1
preferred_network_mode=9
Я даже пытался из adb использовать " В настройках оболочки adb глобальное предпочтение установлено как «1_1017 *», но это не помогло. позже вывод был
preferred_network_mode1=1
preferred_network_mode=1
Но не было никаких изменений в поведении.
Пожалуйста, помогите мне понять, почему эта проблема возникает, и, пожалуйста, сообщите мне, в чем разница между предпочитаемым_сетям_моде, предпочтительным_сетям_модели1 и preferred_network_mode2.