android手机获取gps和基站的经纬度地址实现代码

花一样的年纪05

花一样的年纪05

2016-02-19 11:18

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享android手机获取gps和基站的经纬度地址实现代码吧。
代码如下:

?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFD3D7DF"
android:orientation="vertical"
LinearLayout
android:id="@+id/location"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginTop="20dip"
android:background="@drawable/bg_frame"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingBottom="2dip"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="10dip"
TextView
android:id="@+id/providerTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="获取经纬度:"
android:textColor="#007979" /
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
RadioGroup
android:id="@+id/providerGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
RadioButton
android:id="@+id/gpsProvide"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="gps"
android:textColor="#005AB5" /
RadioButton
android:id="@+id/networkProvide"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="基站"
android:textColor="#005AB5" /
/RadioGroup
ImageButton
android:id="@+id/bestLocationProId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/loction" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最佳选择方式:"
android:textColor="#005AB5" /
TextView
android:id="@+id/locationProId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#8F4586" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="经度:"
android:textColor="#005AB5" /
EditText
android:id="@+id/latEditTextId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:textColor="#8F4586" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="纬度:"
android:textColor="#005AB5" /
EditText
android:id="@+id/lonEditTextId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:textColor="#8F4586" /
/LinearLayout
/LinearLayout
/LinearLayout

---activity-
代码如下:

package com.talkweb.mobileapp;
import java.text.DecimalFormat;
import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.RadioGroup.OnCheckedChangeListener;
/**
*
* @author Mr.Z
* @time 2012-5-16
*
*/
public class LocationappActivity extends Activity {
private ImageButton btnGetBestLocationPro;
private EditText txtLat;
private EditText txtLon;
private TextView txtLocationPro;
private LocationManager locationManager;
private DecimalFormat format;
private String provider;
private RadioGroup providerGroup;
private RadioButton radGps;
private RadioButton radNetwork;
private String latStr;
private String lonStr;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
btnGetBestLocationPro = (ImageButton) findViewById(R.id.bestLocationProId);
btnGetBestLocationPro.setOnClickListener(new GetBestLocationProListener());
txtLat = (EditText) findViewById(R.id.latEditTextId);
txtLon = (EditText) findViewById(R.id.lonEditTextId);
txtLocationPro = (TextView) findViewById(R.id.locationProId);
format = new DecimalFormat("#.000000");
locationManager = (LocationManager) LocationappActivity.this.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAltitudeRequired(false);
criteria.setSpeedRequired(false);
criteria.setCostAllowed(false);
provider = locationManager.getBestProvider(criteria, false);
txtLocationPro.setText(provider);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new TestLocationListener());
providerGroup = (RadioGroup) findViewById(R.id.providerGroup);
radGps = (RadioButton) findViewById(R.id.gpsProvide);
radNetwork = (RadioButton) findViewById(R.id.networkProvide);
providerGroup.setOnCheckedChangeListener(new LocationProvideCheckedlistener());
if (provider.equals(LocationManager.GPS_PROVIDER)) {
System.out.println("gps");
radGps.setSelected(true);
radGps.setChecked(true);
} else if (provider.equals(LocationManager.NETWORK_PROVIDER)) {
System.out.println("network");
radNetwork.setSelected(true);
radNetwork.setChecked(true);
}
}
private class GetBestLocationProListener implements OnClickListener {
@Override
public void onClick(View v) {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAltitudeRequired(false);
criteria.setSpeedRequired(false);
criteria.setCostAllowed(false);
String provider = locationManager.getBestProvider(criteria, false);
txtLocationPro.setText(provider);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new TestLocationListener());
}
}
private class TestLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
double lat = location.getLatitude();
double lon = location.getLongitude();
latStr = format.format(lat);
lonStr = format.format(lon);
txtLat.setText(latStr);
txtLon.setText(lonStr);
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
private class LocationProvideCheckedlistener implements OnCheckedChangeListener {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == radGps.getId()) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new TestLocationListener());
} else if (checkedId == radNetwork.getId()) {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new TestLocationListener());
}
}
}
}

权限:
代码如下:

uses-permission android:name="android.permission.CAMERA" /
uses-permission android:name="android.permission.VIBRATE" /
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /
uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /
uses-permission android:name="android.permission.READ_PHONE_STATE" /
uses-permission android:name="android.permission.INTERNET" /
uses-permission android:name="android.permission.RECEIVE_SMS" /
uses-permission android:name="android.permission.RECORD_AUDIO" /
uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /
uses-permission android:name="android.permission.READ_CONTACTS" /
uses-permission android:name="android.permission.WRITE_CONTACTS" /
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /
uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /
uses-permission android:name="android.permission.WAKE_LOCK" /
uses-permission android:name="android.permission.BLUETOOTH" /
展开更多 50%)
分享

猜你喜欢

android手机获取gps和基站的经纬度地址实现代码

编程语言 网络编程
android手机获取gps和基站的经纬度地址实现代码

Android基站定位原理及实现代码

编程语言 网络编程
Android基站定位原理及实现代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Android获取手机配置信息具体实现代码

编程语言 网络编程
Android获取手机配置信息具体实现代码

经纬度也会影响生男生女吗

怀孕
经纬度也会影响生男生女吗

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

android获取屏幕的长与宽实现代码(手写)

编程语言 网络编程
android获取屏幕的长与宽实现代码(手写)

Android在OnCreate中获取控件的宽度和高度的实现代码

编程语言 网络编程
Android在OnCreate中获取控件的宽度和高度的实现代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Html5游戏开发之乒乓Ping Pong游戏示例(三)

Html5游戏开发之乒乓Ping Pong游戏示例(三)

win7更换桌面壁纸时提示出错怎么办

win7更换桌面壁纸时提示出错怎么办
下拉加载更多内容 ↓