通过修改androidandroid 系统源码码,可以实现伪造GPS数据吗

Android编程获取GPS数据的方法详解
作者:pku_android
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android编程获取GPS数据的方法,结合实例形式分析了Android地理位置操作的相关函数与使用技巧,需要的朋友可以参考下
本文实例讲述了Android编程获取GPS数据的方法。分享给大家供大家参考,具体如下:
GPS是Android系统中重要的组成部分,通过它可以衍生出众多的与位置相关的应用。
Android的GPS有一个专门的管理类,称为LocationManager,所有的GPS定位服务都由其对象产生并进行控制。
首先需要明确的是,LocationManager类的对象获取并不是直接创建的,而是由系统提供的,具体来说,通过如下方法,为一个LocationManager对象建立一个对象引用:
代码如下:LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
至此,我们可以用locationManager这个对象对任意有关GPS的功能进行操作了。下表列出了几个常用的成员方法:
方法及其签名
List&String& getAllProviders()
获取所有与设备关联的定位模块的列表
String getBestProvider(Criteria, boolean)
获取设定的标准(Criteria对象)中最适合的一个设备
GpsStatus getGpsStatus(GpsStatus)
获取GPS当前状态
Location getLastKnownLocation(String)
获取最近一次的可用地点信息
boolean isProviderEnabled(String)
判断参数所提及的设备是否可用
GPS还有一个支持API,即Location,它的作用是一个代表位置信息的抽象类,用它可以获取所有的位置数据:
方法及其签名
double getAltitude()
获取当前高度
float getBearing()
获取当前方向
double getLatitude()
获取当前纬度
double getLongitude()
获取当前经度
float getSpeed()
获取当前速度
我们可以用以上的方法开始进行定位。
可以将地点信息传递给一个Location对象:
代码如下:Locationlocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
我们还可以调用以下函数,对每次更新的位置信息进行我们想要的操作:
代码如下:locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 10, new LocationListener())
其中,第一个参数是LocationProvider对象,第二个参数是刷新的时间差,这里设定为1秒,第三个参数是位置差,这里设定为10米,第四个参数为一个位置监听器对象,它必须实现4个方法:
①. public void onLocationChanged(Location location)
②. public void onProviderDisabled(String provider)
③. public void onProviderEnabled(String provider)
④. public void onStatusChanged(String provider, int status, Bundleextras)
可以重写这些方法来实现我们的需求。
当我们使用模拟器进行测试的时候,由于模拟器无法获取地理位置,所以必须用Emulator的位置控制器进行设置:
最终的结果如图所示:
代码如下所示:
package org.timm.
import android.app.A
import android.content.C
import android.location.L
import android.location.LocationL
import android.location.LocationM
import android.os.B
import android.widget.EditT
public class LocationTryActivity extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
text = (EditText)findViewById(R.id.textShow);
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
showLocation(location);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, new LocationListener(){
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
showLocation(location);
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
showLocation(null);
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
showLocation(locationManager.getLastKnownLocation(provider));
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
public void showLocation(Location currentLocation){
if(currentLocation != null){
String s = "";
s += " Current Location: (";
s += currentLocation.getLongitude();
s += currentLocation.getLatitude();
s += ")\n Speed: ";
s += currentLocation.getSpeed();
s += "\n Direction: ";
s += currentLocation.getBearing();
text.setText(s);
text.setText("");
最后一点需要说明的是,需要在AndroidManifest.xml中设置许可:
代码如下:&uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" /&
PS:关于AndroidManifest.xml详细内容可参考本站在线工具:
Android Manifest功能与权限描述大全:
更多关于Android相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具&>&android GPS 定位系统源码
android GPS 定位系统源码
上传大小:40KB
此demo 很详细的描述了关于GPS 相关的一些知识,很有助于开发者的学习和重用。
综合评分:3.9(88位用户评分)
所需积分:
下载个数:283
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有23条
无法运行啊
就看看代码
还是去百度下载API吧
不行。。。差。。。android2.2定不到位
还是不错的
但没有我想要的
毕业设计用到了GPS定位,正在学习,谢谢楼主分享,挺有帮助的,写的很简洁明了。。
还可以,可以学习定位原理
虽然跑步起来,还是很感谢分享
运行不起来呀。。。
确实少了MapActivity,MapView,MapController,GeoPoint 这些java类
审核通过送C币
Android开发学习电子书
android system bluetooth module
微信公众号和支付方面
创建者:jiangsucsdn
上传者其他资源上传者专辑
android 视频播放器源码
移动开发热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
android GPS 定位系统源码
会员到期时间:
剩余下载个数:
剩余C币:0
剩余积分:
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
liouqingvsjava
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
android GPS 定位系统源码

我要回帖

更多关于 android studio 源码 的文章

 

随机推荐