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  评论     打赏       拉大锯
        相关问题
        2023-11-21 15:11 13 2
        陈钱罐16 · 领券联盟
        2023-11-11 18:09 23 8
        哈哈android · AOSP
        2023-11-10 15:52 13 12
        2023-11-10 00:26 22 10
        zhanghengze · Android
        2023-10-26 21:52 22 8