package com.dingtao.locationdemo;
import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationListener;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public AMapLocationClient mLocationClient = null;
private TextView mLocateText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (ActivityCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)
!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this,new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE
},100);
}
initLocation();
findViewById(R.id.start_locate).setOnClickListener(this);
mLocateText = findViewById(R.id.locate_text);
}
private void initLocation(){
//声明AMapLocationClient类对象
//初始化定位
mLocationClient = new AMapLocationClient(getApplicationContext());
//异步获取定位结果
AMapLocationListener mAMapLocationListener = new AMapLocationListener() {
@Override
public void onLocationChanged(AMapLocation amapLocation) {
if (amapLocation != null) {
if (amapLocation.getErrorCode() == 0) {
//解析定位结果
mLocateText.setText(amapLocation.getAddress());
mLocationClient.stopLocation();
}
}
}
};
//设置定位回调监听
mLocationClient.setLocationListener(mAMapLocationListener);
//启动定位
}
@Override
public void onClick(View v) {
mLocationClient.startLocation();
}
}