0
  • 最佳答案
    config.locale = new Locale.Builder().setLanguage("zh").setScript("Hans").setRegion("CN").build();
    


    绝对有效!!!!!!太难了我


    1173631787251826688  评论     打赏       豪豪好吗
    • 这是我修改语言的方式:


      Class clazz = Class.forName("android.app.ActivityManagerNative");
      Log.i("amnType", clazz.toString());
      object1 = clazz.getMethod("getDefault", new Class[0]).invoke(clazz, new Object[0]);
      Log.i("amType", object1.getClass().toString());
      object2 = object1.getClass().getMethod("getConfiguration", new Class[0]).invoke(object1, new Object[0]);
      Log.i("configType", object2.getClass().toString());
      object2.getClass().getDeclaredField("locale").set(object2, Locale.CHINA);//重点是这里,设置语言
      object2.getClass().getDeclaredField("userSetLocale").setBoolean(object2, true);
      object1.getClass().getMethod("updateConfiguration", new Class[]{android.content.res.Configuration.class}).invoke(object1, new Object[]{object2});
      BackupManager.dataChanged("com.android.providers.settings");
      



      1153952789488054272  评论     打赏       拉大锯
      • zh-Hans-CN这个是什么语言???


        我们是通过反射设置的。


        1153952789488054272  评论     打赏       拉大锯
        相关问题
        幻影~ · 安卓
        2024-04-26 19:25 7 4
        deanhu · AOSP
        2024-04-25 21:53 3 10
        幻影~ · 提问
        2024-04-13 20:13 10 2
        幻影~ · 找工作
        2024-04-07 10:44 17 2
        幻影~ · 问题
        2024-03-31 17:20 7 2
        TONYGFX · AOSP
        2024-03-28 17:11 4 2