1 导入百度定位 sdk
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
2 代码如下:
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class mainActivity extends Activity {
private TextView mTv = null;
public LocationClient mLocationClient = null;
public MyLocationListenner myListener = new MyLocationListenner();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mLocationClient = new LocationClient( this );
mLocationClient.registerLocationListener ( myListener );
mTv = (TextView)findViewById(R.id.textview);
setLocationOption();
mLocationClient.start();
}
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
mTv.setText(location.getCity());
}
@Override
public void onReceivePoi(BDLocation arg0) {
}
}
@Override
public void onDestroy() {
mLocationClient.stop();
super.onDestroy();
}
//设置相关参数
private void setLocationOption(){
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); //打开gps
option.setServiceName("com.baidu.location.service_v2.9");
option.setPoiExtraInfo(true);
option.setAddrType("all");
option.setPriority(LocationClientOption.NetWorkFirst);
option.setPriority(LocationClientOption.GpsFirst); //gps
option.setPoiNumber(10);
option.disableCache(true);
mLocationClient.setLocOption(option);
}
}
3 需要用到的权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
4 在清单文件里要加入一个服务。
<service android:name="com.baidu.location.f" android:enabled="true"
android:process=":remote">
<!-- <intent-filter>
<action android:name="com.baidu.location.service_v2.9"></action>
</intent-filter>-->
</service>
</application>