Android的Location功能代码
16lz
2021-01-23
无废话,上代码。此代码为Location功能的简单封装。
package arui.csdn.net;
- importstaticandroid.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS;
- importandroid.app.Activity;
- importandroid.content.Context;
- importandroid.content.Intent;
- importandroid.location.Location;
- importandroid.location.LocationListener;
- importandroid.location.LocationManager;
- importandroid.os.Bundle;
- publicclassLocationUtil{
- publicstaticbooleanisEnabled(Contextcontext){
- LocationManagermLocationManager=(LocationManager)context
- .getSystemService(Context.LOCATION_SERVICE);
- if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
- returntrue;
- }
- if(mLocationManager
- .isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
- returntrue;
- }
- returnfalse;
- }
- publicstaticvoidstartLocationService(Contextcontext){
- LocationManagermLocationManager=(LocationManager)context
- .getSystemService(Context.LOCATION_SERVICE);
- mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
- 1000L,10,mLocationListener);
- mLocationManager.requestLocationUpdates(
- LocationManager.NETWORK_PROVIDER,1000L,10,
- mLocationListener);
- }
- publicstaticvoidstopLocationService(Contextcontext){
- LocationManagermLocationManager=(LocationManager)context
- .getSystemService(Context.LOCATION_SERVICE);
- mLocationManager.removeUpdates(mLocationListener);
- }
- publicstaticLocationgetLocationByGPS(Contextcontext){
- LocationManagermLocationManager=(LocationManager)context
- .getSystemService(Context.LOCATION_SERVICE);
- Locationlocation=mLocationManager
- .getLastKnownLocation(LocationManager.GPS_PROVIDER);
- returnlocation;
- }
- publicstaticLocationgetLocationByNetwork(Contextcontext){
- LocationManagermLocationManager=(LocationManager)context
- .getSystemService(Context.LOCATION_SERVICE);
- Locationlocation=mLocationManager
- .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
- returnlocation;
- }
- publicstaticvoidopenLocationSetting(Activityact,intrequestCode){
- act.startActivityForResult(newIntent(ACTION_LOCATION_SOURCE_SETTINGS),
- requestCode);
- }
- privatestaticfinalLocationListenermLocationListener=newLocationListener(){
- publicvoidonLocationChanged(Locationlocation){
- //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
- System.out.println("onLocationChanged:"+location.getLatitude());
- }
- publicvoidonProviderDisabled(Stringprovider){
- //Provider被disable时触发此函数,比如GPS被关闭
- System.out.println("onProviderDisabled:"+provider);
- }
- publicvoidonProviderEnabled(Stringprovider){
- //Provider被enable时触发此函数,比如GPS被打开
- System.out.println("onProviderEnabled:"+provider);
- }
- publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){
- //Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
- System.out.println("onStatusChanged:"+status);
- }
- };
- }
需要增加权限:
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" />
---------------------------------------------------------------------------
GL(arui319)
http://blog.csdn.net/arui319
<本文可以转载,但是请保留以上作者信息。谢谢。>
---------------------------------------------------------------------------
更多相关文章
- C语言函数以及函数的使用
- Android代码混淆一定要Export Android Application,否则不起效
- android view的触摸事件坐标
- 第一行代码笔记之——Activity启动模式
- Android:简单联网获取网页代码
- Android 开发笔记 - Android Studio 代码模板
- android源代码下载及编译
- android 用代码画圆
- android用代码实现圆角背景