fnia2Android,android - how I can get the city name of my current position? - Stack Overflow

You need the GeoCoder class to get Address from a given Lat/Long. try the following:

Geocoder geoCoder = new Geocoder(this, Locale.getDefault()); //it is Geocoder

StringBuilder builder = new StringBuilder();

try {

List

address = geoCoder.getFromLocation(latitude, longitude, 1);

int maxLines = address.get(0).getMaxAddressLineIndex();

for (int i=0; i

String addressStr = address.get(0).getAddressLine(i);

builder.append(addressStr);

builder.append(" ");

}

String fnialAddress = builder.toString(); //This is the complete address.

} catch (IOException e) {}

catch (NullPointerException e) {}

Code below should work for you: (Check the inline comments regarding your code)

import java.io.IOException;

import java.util.List;

import java.util.Locale;

import android.app.Activity;

import android.content.Context;

import android.location.Address;

import android.location.Criteria;

import android.location.Geocoder;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Bundle;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity implements LocationListener {

private TextView latituteField;

private TextView longitudeField;

private TextView addressField; //Add a new TextView to your activity_main to display the address

private LocationManager locationManager;

private String provider;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

latituteField = (TextView) findViewById(R.id.TextView02);

longitudeField = (TextView) findViewById(R.id.TextView04);

addressField = (TextView) findViewById(R.id.TextView05); //Make sure you add this to activity_main

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

Criteria criteria = new Criteria();

provider = locationManager.getBestProvider(criteria, false);

Location location = locationManager.getLastKnownLocation(provider);

if (location != null) {

System.out.println("Provider " + provider + " has been selected.");

onLocationChanged(location);

} else {

latituteField.setText("Location not available");

longitudeField.setText("Location not available");

}

}

@Override

protected void onResume() {

super.onResume();

locationManager.requestLocationUpdates(provider, 400, 1, this);

}

@Override

protected void onPause() {

super.onPause();

locationManager.removeUpdates(this);

}

@Override

public void onLocationChanged(Location location) {

//You had this as int. It is advised to have Lat/Loing as double.

double lat = location.getLatitude();

double lng = location.getLongitude();

Geocoder geoCoder = new Geocoder(this, Locale.getDefault());

StringBuilder builder = new StringBuilder();

try {

List

address = geoCoder.getFromLocation(lat, lng, 1);

int maxLines = address.get(0).getMaxAddressLineIndex();

for (int i=0; i

String addressStr = address.get(0).getAddressLine(i);

builder.append(addressStr);

builder.append(" ");

}

String fnialAddress = builder.toString(); //This is the complete address.

latituteField.setText(String.valueOf(lat));

longitudeField.setText(String.valueOf(lng));

addressField.setText(fnialAddress); //This will display the final address.

} catch (IOException e) {

// Handle IOException

} catch (NullPointerException e) {

// Handle NullPointerException

}

}

@Override

public void onStatusChanged(String provider, int status, Bundle extras) {

}

@Override

public void onProviderEnabled(String provider) {

Toast.makeText(this, "Enabled new provider " + provider,

Toast.LENGTH_SHORT).show();

}

@Override

public void onProviderDisabled(String provider) {

Toast.makeText(this, "Disabled provider " + provider,

Toast.LENGTH_SHORT).show();

}

}

Bria Android Edition is a highly secure, standards-based mobile VoIP softphone that works over both 3G and Wi-Fi networks. Using the device’s existing contact list, Bria Android Edition facilitates easy and effective communication management with an intuitive interface. Deskphone-class calling functionality includes the ability to swap between two calls, merge calls and perform attended and unattended transfers. Bria Android Edition incorporates advanced security settings which allow for secure call signaling. It also contains enhanced audio features including G.711, GSM, iLBC and an optional G.729 codec. Bria Android Edition works seamlessly with other CounterPath desktop and convergence solutions, as well as with enterprise and carrier infrastructure equipment from major vendors such as Alcatel-Lucent, Ericsson, BroadSoft, Metaswitch, Avaya, Cisco and NEC. Bria Android Edition also supports Asterisk-based telephony systems. Standard Phone Features ★ Bria Android Edition has all the standard telephone features, including: ★ Support for 8 accounts on any SIP-compliant server ★ Multi-tasking support for background operation, such as fielding incoming calls while using other applications ★ Call display and voicemail indicator ★ Voicemail support ★ Speakerphone, Mute and Hold ★ A detailed call history pane that displays dialed, answered and missed calls, along with ability to delete entries ★ Contact List – leveraging the phone’s native address book ★ The ability to work with the native dialer (a.k.a. Call Intercept) ★ Ringtones and contact avatars ★ Dial plan support (softphone-side) ★ Multiple call support ✩ Swap between two active calls ✩ Merge calls (three-way conferencing support) ✩ Call transfer (attended and unattended) ★ Audio codecs include G.711a/u, G.722, iLBC and GSM ✩ Operational G.729 codec ★ Automatic codec selection to ensure optimal call quality ★ Noise reduction ★ DTMF support: the ability to enter number into an auto attendant ✩ via RFC 2833 or SIP INFO Advanced Features ★ NAT traversal ✩ Application managed, server managed or user specified ✩ Global IP support ✩ STUN and ICE ★ Media efficiency and quality ✩ VAD (Voice Activation Detection) ✩ QoS (Quality of Service) ✩ ToS Marking ★ Security and encryption ✩ TLS ✩ SRTP ✩ Logging support for trouble shooting ✩ DNS SRV record lookups Accessories The following accessories are supported: ★ Headset with microphone: Bria uses the ear-piece and microphone on the headset. ★ Headphones (no microphone): Bria uses the ear-piece on the headphone and the built-in microphone on the phone. ITSP/Operator/Enterprise Features Bria Android includes features specifically designed for business and enterprise users, including: ★ Optional customized branding for graphic assets and SIP settings ★ Additional security settings
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值