- 浏览: 3466397 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
package org.example.locationtest; import java.util.List; import android.app.Activity; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.widget.TextView; public class LocationTest extends Activity implements LocationListener { // Define human readable names private static final String[] A = { "invalid", "n/a", "fine", "coarse" }; private static final String[] P = { "invalid", "n/a", "low", "medium", "high" }; private static final String[] S = { "out of service", "temporarily unavailable", "available" }; private LocationManager mgr; private TextView output; private String best; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mgr = (LocationManager) getSystemService(LOCATION_SERVICE); output = (TextView) findViewById(R.id.output); log("Location providers:"); dumpProviders(); Criteria criteria = new Criteria(); best = mgr.getBestProvider(criteria, true);//获取最好的提供者 log("\nBest provider is: " + best); // 注:这里取到的GPS值是目前存储在GPS上的Location值, // 如果刚刚打开GPS就用这个方法取Location取到的会是上一次代开GPS时取到的旧值。 // 等待GPS取得新值需要用LocationListener里的 onLocationChanged。 log("\nLocations (starting with last known):"); Location location = mgr.getLastKnownLocation(best); //通过最好的提供者获得GPS的方法 dumpLocation(location); } @Override protected void onResume() { super.onResume(); // Start updates (doc recommends delay >= 60000 ms) mgr.requestLocationUpdates(best, 15000, 1, this);//通过best启动(例如设置成LocationManager.GPS_PROVIDER就是通过gps启动),Location更新的设置是每隔15000ms更新一次,最后一个参数是LocationListener的一个引用,这个类需要实现 } @Override protected void onPause() { super.onPause(); // 停止GPS运行: mgr.removeUpdates(this); } //如果需要去到GPS启动后取到的Location,必须用这个! public void onLocationChanged(Location location) { dumpLocation(location); } // Provider被disable时触发此函数,比如GPS被关闭 public void onProviderDisabled(String provider) { log("\nProvider disabled: " + provider); } // Provider被enable时触发此函数,比如GPS被打开 public void onProviderEnabled(String provider) { log("\nProvider enabled: " + provider); } // Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数 public void onStatusChanged(String provider, int status, Bundle extras) { log("\nProvider status changed: " + provider + ", status=" + S[status] + ", extras=" + extras); } /** Write a string to the output window */ private void log(String string) { output.append(string + "\n"); } /** Write information from all location providers */ private void dumpProviders() { List<String> providers = mgr.getAllProviders(); for (String provider : providers) { dumpProvider(provider); } } /** Write information from a single location provider */ private void dumpProvider(String provider) { LocationProvider info = mgr.getProvider(provider); StringBuilder builder = new StringBuilder(); builder.append("LocationProvider[") .append("name=") .append(info.getName()) .append(",enabled=") .append(mgr.isProviderEnabled(provider))//检测GPS是否已经启动: .append(",getAccuracy=") .append(A[info.getAccuracy() + 1]) .append(",getPowerRequirement=") .append(P[info.getPowerRequirement() + 1]) .append(",hasMonetaryCost=") .append(info.hasMonetaryCost()) .append(",requiresCell=") .append(info.requiresCell()) .append(",requiresNetwork=") .append(info.requiresNetwork()) .append(",requiresSatellite=") .append(info.requiresSatellite()) .append(",supportsAltitude=") .append(info.supportsAltitude()) .append(",supportsBearing=") .append(info.supportsBearing()) .append(",supportsSpeed=") .append(info.supportsSpeed()) .append("]"); log(builder.toString()); } /** Describe the given location, which might be null */ private void dumpLocation(Location location) { if (location == null) log("\nLocation[unknown]"); else // double latitude = location.getLatitude(); //经度 // double longitude = location.getLongitude(); //纬度 // double altitude = location.getAltitude(); //海拔 log("\n" + location.toString()); } }
- LocationTest.rar (45.7 KB)
- 下载次数: 91
评论
1 楼
yagamil
2015-03-18
你好,写的很好的demo程序。
不过有个问题, 当我用这个程序在手机上应用时, 我打开gps,停止使用网络wifi定位,但是onProviderDisabled 这个函数输出没有变化?
请问需要怎样才能真正的disable network 这个provider呢?
不过有个问题, 当我用这个程序在手机上应用时, 我打开gps,停止使用网络wifi定位,但是onProviderDisabled 这个函数输出没有变化?
请问需要怎样才能真正的disable network 这个provider呢?
发表评论
-
Android 桌面部件
2011-07-06 19:26 1874桌面部件是一种利用AppWidget框架将应用程序的某个部件放 ... -
Android 实时文件夹
2011-07-06 15:38 2860实时文件夹是一种用来显示由某个ContentProvider提 ... -
android 添加桌面快捷方式
2011-07-05 19:20 13290、在桌面创建快捷方式方法: 方法一:通过长按某一个应用程序的 ... -
Android权限详解
2011-07-04 09:43 2242在Android的设计中,资源的访问或者网络连接,要得到这 ... -
Android权限注解
2011-07-04 09:33 3488Android应用程序在使用很多功能的时候必须在Mainife ... -
ListView使用SimpleAdapter加载网络图片
2011-07-02 19:14 7713ListView是一种常见的布局,通过SimpleAdapte ... -
android:layout_gravity 和 android:gravity 的区别
2011-07-02 19:00 2103gravity 这个英文单词是重心的意思,在这里就表示 ... -
横竖屏切换时不销毁当前activity 和 锁定屏幕
2011-07-02 18:58 3630首先在Mainifest.xml的Activity元素 ... -
onSaveInstanceState和onRestoreInstanceState触发的时机
2011-07-02 17:49 2881当某个activity变得“容易”被系统销毁时,该ac ... -
strings.xml文件中提供占位符来格式化数据
2011-07-01 16:16 3235有些朋友可能会动态的修改Android中strings. ... -
ANDROID开机动画分析
2011-05-25 15:40 5928Android 2.0 开机动画文件分析。开机动画文件:boo ... -
Android专栏地址,真的不错啊!!!
2011-05-22 20:22 1657第三极: http://disanji.net/cate ... -
A1200入门DIY
2011-05-22 11:40 0A1200入门DIY 2007-04-16 19:33 ... -
android用户界面数据绑定
2011-05-19 21:25 5282当我们想用合适的方式显示并操作一些数据(如数组,链表,数据库等 ... -
emulator: ERROR: the user data image is used by another emulator. aborting
2011-05-19 13:48 2355今天早上起床,运行项目时报错:Error the use ... -
Android Map demo
2011-04-23 22:24 3398AndroidManifest.xml <?xm ... -
Android Map申请key
2011-04-23 22:02 31231. 首先先要获取你的debug keystore位置 ... -
conversion to dalvik format failed with error 1
2011-04-23 21:52 3473android低版本工程(如1.5)放到高版本环境中(如2.2 ... -
Android API:Activity.managedQuery()
2011-04-20 19:22 2628描述: 获取一个包含指定数据的 Cursor 对 ... -
Android与Internet(获取资源,多线程断点下载,get/post发送,发送xml)
2011-04-07 20:13 6862从Internet获取数据 利用HttpURLConn ...
相关推荐
在Android平台上,GPS(全球定位系统)定位是开发者常用的功能之一,用于获取设备的精确位置信息。本资源提供了Android GPS定位的实例源码,对于学习和理解如何在Android应用中集成GPS定位至关重要。通过分析这些...
尽管现在的Android开发更倾向于使用Google Play Services的FusedLocationProviderClient,但对于学习和理解Android定位机制的基础概念,这段代码仍具有参考价值。不过,实际应用中应考虑更多的因素,如定位精度、...
一、Android GPS基础 1. AndroidManifest.xml配置:在开发Android应用时,首先要在`AndroidManifest.xml`文件中声明对GPS权限的使用,添加`<uses-permission>`标签,如: ```xml <uses-permission android:name=...
综上所述,这个“androidGPS下载”资源集合为Android开发者提供了一个全面的学习平台,从理论知识到实践案例,覆盖了Android GPS定位的各个方面。无论你是初学者还是经验丰富的开发者,都可以从中找到有价值的信息,...
总之,“Android读取GPS数据demo”是一个实用的教学工具,它演示了如何集成和处理Android中的GPS数据,对于初学者来说,这是一个很好的起点,可以帮助他们理解和掌握Android定位服务的基础操作。
这个“Android Gps日志记录程序源码”提供了一个基础的框架,可以帮助开发者理解如何在Android平台上实现这样的功能。以下是基于这个项目的一些关键知识点: 1. **AndroidManifest.xml**:这是Android应用的核心...
这个"android GPS 数据采集源码"提供了一个基础框架,帮助开发者了解如何实现GPS数据的实时获取和处理。下面我们将深入探讨相关知识点。 1. GPS(全球定位系统): GPS是一种全球卫星导航系统,用于提供地理位置和...
在Android开发中,获取GPS(全球定位系统)的经纬度是一项基本操作,它允许应用程序获取用户的实时地理位置信息。本文将详细讲解如何在Android应用中实现这个功能,以及相关的知识点。 首先,我们需要在...
首先,内置GPS是Android系统中提供的一种基础定位服务。它依赖于手机硬件中的GPS芯片,该芯片接收到至少四颗卫星的信号后,通过三角定位计算出设备的经纬度坐标。这一过程通常需要较长时间,尤其是在室内或信号弱的...
### Android GPS模块架构分析 #### 一、GPS模块概述与重要性 全球定位系统(Global Positioning System, GPS)是现代移动设备中不可或缺的功能之一。它不仅支持基础的地图导航功能,还广泛应用于各种位置感知应用中...
在Android平台上,GPS(全球定位系统)的使用是开发者实现位置服务、导航和跟踪功能的基础。本项目聚焦于如何在地图上绘制GPS定位的运行轨迹,这是一个常见的需求,例如在运动健康类应用或者物流跟踪应用中。下面...
通过这个项目,学生可以了解到Android应用开发的基础知识,包括Android Studio的使用、布局设计、事件处理、GPS服务的调用以及数据处理等多个方面。 1. **Android Studio入门**:首先,Android Studio是Android开发...
在Android平台上,GPS(全球定位系统)是移动应用开发中不可或缺的一部分,它允许开发者获取设备的位置信息,包括经纬度坐标、速度、海拔以及精确的时间戳等。本小案例旨在通过一个实际的应用示例来深入理解如何在...
在Android平台上,获取GPS定位是移动应用开发中的基础功能,尤其对于那些依赖地理位置信息的应用,如导航、社交、天气预报等。本示例程序"LocationDemo"是专门为开发者设计的,用于展示如何在Android Studio环境下...
在Android开发中,GPS定位是一项基础且重要的功能,它允许应用程序获取用户的位置信息,从而实现各种基于位置的服务,如导航、地图应用、社交网络签到等。本资源提供了一个实现Android GPS定位的源码示例,并附带了...
《Android GPS测试应用源码深度解析》 在移动设备领域,Android系统因其开源特性而备受开发者青睐,其中GPS(全球定位系统)功能是Android应用程序的重要组成部分。本篇将深入探讨"Android Gps Test源码",它是一个...
综上所述,基于Android 2.3的GPS系统不仅涉及到基础的GPS定位,还包括与用户交互的设置、地址转换以及导航功能。通过合理利用Android提供的API和服务,开发者可以构建出功能完善的定位导航应用。而“iTracks”这个...
在Android平台上,获取GPS经纬度是一项基础且重要的功能,它涉及到地理位置服务,广泛应用于地图导航、定位服务、社交应用等领域。下面将详细讲解如何在Android中实现这一功能,以及涉及的相关知识点。 首先,我们...