Android 是否以阿拉伯语获取用户当前位置名称?
我需要获得阿拉伯语的位置名称,如果gps启用英语,我使用以下代码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());
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);位置数据仅为英文?您解决了这个问题吗?