下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
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.util.Log; import android.widget.TextView; import android.widget.Toast; public class GPSActivity extends Activity { //声明位置管理对象 private LocationManager locationManager; //声明位置监听对象 private LocationListener locationListener; //声明字符串变量 String locationprovider; //声明显示文本视图组建 private TextView textview; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获得文本视图 textview = (TextView)this.findViewById(R.id.textView1); try{ //新建Criteria类 Criteria locationcriteria = new Criteria(); //设置精确精度 locationcriteria.setAccuracy(Criteria.ACCURACY_FINE); //不提供海拔高度信息 locationcriteria.setAltituderequired(false); //不提供方向信息 locationcriteria.setbearingrequired(false); //允许运营商计费 locationcriteria.setCostAllowed(true); //设置电池消耗为低耗费 locationcriteria.setPowerRequirement(Criteria.POWER_LOW); //使用getSystemService()方法获得位置管理器对象 locationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE); //locationManager.setTestProviderEnabled("gps",true); Toast.makeText(GPSActivity.this,"getSystemService",Toast.LENGTH_SHORT).show(); //检查gps功能开启 if(checkgps()){ locationprovider =locationManager.getBestProvider(locationcriteria,true); Log.d("provider",locationprovider); //注册位置监听器 locationListener = new MyLocationListener(); locationManager.requestLocationUpdates(locationprovider,1000,locationListener); } }catch(Exception e){ Toast.makeText(GPSActivity.this,"异常错误"+e.toString(),Toast.LENGTH_LONG).show(); } } private class MyLocationListener implements LocationListener{ /** * 若位置发生变化,onLocationChanged方法被调用 */ @Override public void onLocationChanged(Location location) { // Todo Auto-generated method stub Log.i("位置发生变化","Invoke"); if(location != null){ //获得经度 String latitude = Double.toString(location.getLatitude());//经度 //获得纬度 String longitude = Double.toString(location.getLongitude());//纬度 //在文本框中显示 textview = (TextView)GPSActivity.this.findViewById(R.id.textView1); textview.setText("经度:"+longitude+"纬度"+latitude); } //locationManager.removeUpdates(this); //locationManager.setTestProviderEnabled("gps",true); } //若屏蔽提供商,该方法被调用 @Override public void onProviderdisabled(String provider) { // Todo Auto-generated method stub Log.i("屏蔽提供商","Invode"); } //若激活提供商,该方法被调用 @Override public void onProviderEnabled(String provider) { // Todo Auto-generated method stub Log.i("激活提供商","Invode"); } //若状态发生变化,该方法被调用 @Override public void onStatusChanged(String provider,int status,Bundle extras) { // Todo Auto-generated method stub Log.i("状态发生变化","Invode"); } } private boolean checkgps(){ boolean providerEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); //若被激活,则返回真值 if(providerEnabled ==true){ Toast.makeText(this,"Gps模块活动正常",Toast.LENGTH_SHORT).show(); return true; } else{ Toast.makeText(this,"请开启GPS",Toast.LENGTH_SHORT); return false; } } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.antking.gps" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission> <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"></uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".GPSActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。