AndroidQ如何修改首选网络模式

AndroidQ版本中包含了定制可选网络模式的代码:

packages/apps/Settings/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java

private void updatePreferenceEntries(ListPreference preference) {
..
Resources resource = SubscriptionManager.getResourcesForSubId(mContext, mSubId);
boolean carrierCustomize = resource.getBoolean(R.bool.config_carrier_customize_network);
if (carrierCustomize) {
preference.setEntries(R.array.carrier_customize_network_choices);
preference.setEntryValues(R.array.carrier_customize_network_values);
}

可以参考packages/apps/Settings/res/values-mcc724-mnc10/这个配置
1.packages/apps/Settings/res/values-mcc724-mnc10/config.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<bool name="config_carrier_customize_network" translatable="false">true</bool>
</resources>

2.packages/apps/Settings/res/values-mcc724-mnc10/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array translatable="false" name="carrier_customize_network_choices">
<item>@string/network_4g_auto</item>
<item>@string/network_3G_auto</item>
<item>@string/network_2G_only</item>
<item>@string/network_4G_only</item>
<item>@string/network_3G_only</item>
</string-array>

<string-array translatable="false" name="carrier_customize_network_values">
<item>"9"</item>
<item>"0"</item>
<item>"1"</item>
<item>"11"</item>
<item>"2"</item>
</string-array>
</resources>

对应value定义在

frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java

/** LTE only mode*/

int NETWORK_MODE_LTE_ONLY = 11;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值