要获取Android应用程序本地化的语言列表,可以使用以下代码示例:
首先,在res目录下创建一个values文件夹,然后在该文件夹下创建一个strings.xml文件。
在strings.xml文件中定义应用程序支持的语言。例如,假设我们支持英语、法语和西班牙语,可以如下定义:
    My App 
 
Locale类来获取本地化的语言列表。示例代码如下:import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        List supportedLanguages = getSupportedLanguages();
        for (String language : supportedLanguages) {
            Log.d("Language", language);
        }
    }
    private List getSupportedLanguages() {
        List supportedLanguages = new ArrayList<>();
        // 获取系统支持的语言列表
        Locale[] availableLocales = Locale.getAvailableLocales();
        // 遍历系统支持的语言列表
        for (Locale locale : availableLocales) {
            try {
                // 尝试根据语言代码获取对应的资源
                Resources resources = getResources();
                Configuration config = resources.getConfiguration();
                config.setLocale(locale);
                resources.updateConfiguration(config, resources.getDisplayMetrics());
                // 获取当前语言的应用名
                String appName = getString(R.string.app_name);
                // 如果获取应用名成功,表示该语言是支持的语言
                supportedLanguages.add(locale.getDisplayName());
            } catch (Resources.NotFoundException e) {
                // 忽略未找到资源的异常
            }
        }
        return supportedLanguages;
    }
}
   
在上述代码中,getSupportedLanguages()方法遍历系统支持的语言列表,然后尝试根据语言代码获取对应的资源。如果成功获取了资源,表示该语言是支持的语言,将其添加到supportedLanguages列表中。最后,我们可以在onCreate()方法中调用getSupportedLanguages()方法,并打印出所有支持的语言。