Android 是否以阿拉伯语获取用户当前位置名称?

Android 是否以阿拉伯语获取用户当前位置名称?,android,geolocation,arabic,Android,Geolocation,Arabic,我需要获得阿拉伯语的位置名称,如果gps启用英语,我使用以下代码 Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault()); // LogCat: Display language = English Log.i("Display language = ", "" + mLocale.getDisplayLanguage());

我需要获得阿拉伯语的位置名称,如果gps启用英语,我使用以下代码

        Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());

       // LogCat: Display language = English

        Log.i("Display language = ", "" + mLocale.getDisplayLanguage());

        Log.i("geocoder geocoder = ", "" + geocoder.toString());

      // Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
        try {
            List<Address> listAddresses = geocoder.getFromLocation(latitude, longitude, 1);
            if (null != listAddresses && listAddresses.size() > 0) {
                String _Location = listAddresses.get(0).getAddressLine(0);
               // Log.i("_Location = ", "" + _Location);

                Address address = listAddresses.get(0);

                Log.i("address = ", "" + address);
                result = address.getLocality();

                Log.i("result = ", "" + result);
                // Toast.makeText(getApplicationContext(), "Your Location  NAME is -" + result , Toast.LENGTH_LONG).show();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
Geocoder-Geocoder=new-Geocoder(getApplicationContext(),Locale.getDefault());
//LogCat:显示语言=英语
Log.i(“Display language=“,”“+mLocale.getDisplayLanguage());
Log.i(“geocoder-geocoder=”,“+geocoder.toString());
//Geocoder Geocoder=新的Geocoder(getApplicationContext(),Locale.getDefault());
试一试{
List listAddresses=geocoder.getFromLocation(纬度、经度,1);
if(null!=listAddresses&&listAddresses.size()>0){
字符串_Location=listAddresses.get(0).getAddressLine(0);
//Log.i(“\u Location=”,“+\u Location”);
地址=listAddresses.get(0);
Log.i(“地址=”,“”+地址);
结果=address.getLocation();
Log.i(“result=”,“”+result);
//Toast.makeText(getApplicationContext(),“您的位置名是-”+结果,Toast.LENGTH\u LONG.show();
}
}捕获(IOE异常){
e、 printStackTrace();
}
地址[地址行]=[ 阿布扎比-阿拉伯联合酋长国“],特写=3 街道,管理员=阿布扎比,副管理员=空,地点=阿布扎比 达比,大道=3号 Street,postalCode=null,countryCode=AE,countryName=United Arab 阿联酋航空公司,hasLatitude=true,latitude=,hasLatitude=true,经度=,phone=null,url=null,extras=null]

我需要基于应用程序中用户选择的语言的阿拉伯语位置值

我给出了
Locale mLocale=new Locale(“ar”、“AE”);
但它给出的国家名称是用阿拉伯语命名的,我需要阿拉伯语的locality值

在galaxy s7中,根据阿拉伯文选择正确输入数据,给出阿拉伯文数据


s6未提交,仅当我通过阿拉伯文语言环境时,它才提供英语数据。

在最近的参考资料中,语言环境包含适用于ISO 639-1/ISO 3166-1的语言/国家代码信息

ISO 639-1是两个字母的小写语言代码。阿拉伯语是以这种格式定义的

您可以按如下方式设置阿拉伯语的语言环境:

Locale loc = new Locale("ar");
注:

Android区域设置参考:

ISO 639-1代码参考:


希望它对您有用。

Address[地址行=[0:“第三街-阿布扎比-阿布扎比-阿布扎比-阿布扎比-阿布扎比-阿布扎比”,feature=3街,admin=Abu Dhabi,sub-admin=null,Location=Abu Dhabi,Throughway=3街,postalCode=null,countryCode=AE,countryName=AE,countryName=AE,countryName=true,latitude=true,经度=true,经度=null,Locale=url=null,如果地点为空,则url=ULL=ULL=95419998,如果地点为空,则url=ULL=ULL=ULL,如果地点为空,则url=ULL=ULL=ULL;Log.d(“Display language=”,“+mLocale.getDisplayLanguage());地理编码器Geocoder=新地理编码器(getApplicationContext(),mLocale);位置数据仅为英文?您解决了这个问题吗?