Rumah > Java > javaTutorial > teks badan

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

高洛峰
Lepaskan: 2017-01-07 15:00:24
asal
1787 orang telah melayarinya

<?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>
Salin selepas log masuk

<---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()); 
} 
} 
} 
}
Salin selepas log masuk

权限:

<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" />
Salin selepas log masuk


更多 android手机获取gps和基站的经纬度地址实现代码相关文章请关注PHP中文网!


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!