En Configuración, Red e Internet—>Red móvil, el título y la opción de título de la tarjeta inferior tienen problemas al cambiar de idioma.

proveedor/mediatek/propietario/paquetes/aplicaciones/MtkSettings/src/com/android/settings/network/telephony/MobileNetworkActivity.java

El motivo del análisis está dentro.

El método subInfo.getDisplayName() devuelve algo que no se actualiza con el cambio de idioma del sistema, por lo que permanece en inglés.

Solución alternativa: (no esencial)

Dado que el resumen de subtítulos en el exterior es normal, se utiliza mTelephonyManager.getNetworkOperatorName(),

entonces,

Definir variables globales:

privado TelephonyManager mTelephonyManager;

1. Al final de void updateSubscriptions(BundlesavedInstanceState) {método

participar

mTelephonyManager = TelephonyManager.from(this).createForSubscriptionId(getSubscriptionId());
       setTitle(mTelephonyManager.getNetworkOperatorName());

Este método es la última ejecución de onCreate, por lo que se ejecutará cada vez que haga clic en él.

2, en el vacío updateBottomNavigationView() {método

código fuente

if (CollectionUtils.size(mSubscriptionInfos)<= 1) {
           navigation.setVisibility(View.GONE);
       } else {
           final Menu menu = navigation.getMenu();
           menu.clear();
           for (int i = 0, size = mSubscriptionInfos.size(); i < size; i++) {
                final SubscriptionInfosubscriptionInfo = mSubscriptionInfos.get(i);

No hay opción inferior para una tarjeta,

Agregue la variable de definición:

mTelephonyManager =TelephonyManager.from(this).createForSubscriptionId(subscriptionInfo.getSubscriptionId());

existir

menu.add(0,subscriptionInfo.getSubscriptionId(), i,

A continuación, reemplace los parámetros con

información de suscripción.getDisplayName())

reemplazar con

mTelephonyManager.getNetworkOperatorName())

Este método también se actualizará al principio y luego finalmente ejecutará el evento de monitoreo y reemplazo del fragmento inferior.

3, void switchFragment (Fragmento de fragmento, intsubscriptionId, boolean forceUpdate) {

Finalmente, al actualizar el título

for (SubscriptionInfo subInfo :mSubscriptionInfos) {
                MenuItem item = null;
                if (menu != null) {
                    item =menu.findItem(subInfo.getSubscriptionId());
                }
 
                if (subInfo.getSubscriptionId()== mCurSubscriptionId) {
                    /*/tyd.yantao 20230104 fixtitle unchange while multiple sim in change sim fragment
                   setTitle(subInfo.getDisplayName());
                    //*/
                    mTelephonyManager =TelephonyManager.from(this).createForSubscriptionId(subInfo.getSubscriptionId());
                   setTitle(mTelephonyManager.getNetworkOperatorName());
                    //*/

Este método es para garantizar que el título superior se convierta en el título correspondiente cada vez que cambie

4,

Finalmente en privado void handleSubscriptionChange(List<SubscriptionInfo> subList) {

if (simNum == 1) {
           subInfo = mSubscriptionInfos.get(0);
           /*/tyd.yantao 20230104 fix title unchange while click to switch Romaing
           setTitle(subInfo.getDisplayName());
           //*/
           return;
       }

Este settitle no es necesario para una tarjeta, porque el primer paso ya se ha ejecutado

Entonces el siguiente juicio de Doka

for (int i = 0; i < simNum; i++) {
           subInfo = mSubscriptionInfos.get(i);

Similar al tercer paso. participar

mTelephonyManager = TelephonyManager.from(this).createForSubscriptionId(subInfo.getSubscriptionId());

y luego poner la parte inferior

setTitle(subInfo.getDisplayName());和item.setTitle(subInfo.getDisplayName());

reemplazar con

setTitle(mTelephonyManager.getNetworkOperatorName());和item.setTitle(mTelephonyManager.getNetworkOperatorName());

¡Este método es para garantizar que el título sea anormal después de hacer clic en el estado del interruptor de roaming! ! ! ! , ningún clic activará

Supongo que te gusta

Origin blog.csdn.net/youthking1314/article/details/128913646
Recomendado
Clasificación