Android手机号获取地理位置
获取安卓手机的坐标位置
获取安卓⼿机的坐标位置
1.打开Android⼿机“设置”APP,点击“关于⼿机”。
2.在“版本号”上连续点击5次,打开“开发者选项”。
也有些⼿机在“关于⼿机”⾥找不到“版本号”条⽬,那么也可以点击其他类似的条⽬,⽐如“软件版本
3.在“设置”APP⾥找到“开发者选项”,打开它。
4.
打开“指针位置”,这个时候可以在⼿机顶部看到以下⼀⾏说明:
“P:0/0 X:0/0 Y:0/0 Xv:0:0 Yv:0:0 Prs:0:0 Size:0:0”。
其中的X/Y冒号后⾯的值就是绝对坐标,这⾏表⽰坐标原点(0,0),也就是⼿机左上⾓。
这个时候在屏幕上点击某个位置,就可以看到该位置的坐标;如果在屏幕上划动,也可以看到划动的轨迹。
⽐如⽤⼿指按在“卡设置”上,如下图所⽰,界⾯上显⽰⼀横⼀竖两条线,中间有个交叉的点,⼿机顶部有⼀⾏说明:“P:1/1 X:458.6 Y:647.7 Xv:0:0 Yv:0:0 Prs:0.25 Size:0.2”。
这说明这个点的X坐标是458.6,Y坐标是647.7
5.有了坐标值,就可以利⽤它来做⼀些简单的⾃动化。
⽐如利⽤命令“ adb shell input tap 458.6 647.7 ”点击坐标(458.6,647.7),从⽽⾃动打开“卡设置”。
注意:
这个⽅法获取到的是绝对坐标,不同尺⼨不同分辨率的⼿机同⼀个选项的坐标不相同。
如果希望⾃动化脚本能适配的机型更多些,可以利⽤“绝对坐标/屏幕分辨率”⽅法获得相对坐标,再⽤相对坐标来实现⾃动化。
如果Android设备进⼊休眠,那使⽤input命令是⽆法实现⾃动化的。
获取电话号码和手机地址信息
call.setName(telName);
} else {
call.setName("未知联系人");
}
call.setNumber(telNo);
call.setTime(time);
if (CallLog.Calls.INCOMING_TYPE == type) {
call.setType("未接");
}
callList.add(call);
}
return callList;
}
private String formatDuring(long mss) {
long hours = mss / (60 * 60);
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
i++;
}
string += "\n";
phone.close();
System.out.println("persion:"+string);
}
cursor.close();
return string;
String telName = "";
String telNo = "";
基于基站的移动终端定位的研究及应用
基于基站的移动终端定位的研究及应用王德广;郭阳【摘要】随着移动终端、3G网络的快速发展与结合,公众对于获取位置信息的需求迅速增长.基于基站的定位系统的发展是非常有必要的.针对移动网络原理、Android技术进行研究后,提出通过定位软件获取GSM网络中移动终端用户的位置信息,在服务器端对数据保存及处理,最后在电子地图的支持下,为用户提供一种定位服务.经过测试,这种定位服务不仅能给普通群体提供定位和轨迹查询服务,更能免费为老人、孩子等弱势群体的人身安全提供保障.【期刊名称】《微型电脑应用》【年(卷),期】2014(030)008【总页数】4页(P18-20,26)【关键词】移动终端;基站;移动网络;电子地图;定位服务【作者】王德广;郭阳【作者单位】大连交通大学,软件学院,大连,116052;大连交通大学,软件学院,大连,116052【正文语种】中文【中图分类】TP393.03由于智能终端的广泛普及,WiFi[1]的全面覆盖及3G网络[2]的快速发展,移动通讯与互联网紧密地联系在一起。
不仅如此,人们也希望将定位系统融入自己的生活。
移动定位系统实质上是由移动通信网络和卫星定位系统结合在一起提供的一种业务,通过一组定位技术获得移动端的位置信息,提供给移动用户或他人。
定位系统不仅可以用于军事和紧急救援,也能用于和人们息息相关的娱乐、社交、会议、学习、旅游等方面。
在移动通信网络定位中,由于通过运营商来获取用户的位置坐标要收取大量费用且无法实时提供位置信息,这样定位功能很难普及。
在本文研究中,通过在移动端编写获取位置坐标信息的程序,将坐标信息发送至专用服务器上,避免了移动运营商的收费及权限问题。
该定位系统用于安全方面,主要是通过定位系统来获取儿童、老人的具体位置,来保护这些弱势群体的安全。
移动定位系统包括移动通信网络和卫星定位系统。
卫星定位系统[3]简称GPS,是一个中距离圆型轨道卫星导航系统。
在国外,常见的手机定位方式一般是使用GPS模块,其定位精度取决于很多方面,比如来自于GPS系统的卫星种差及轨道差等因素,一般辅以模块内部的RTC[4]。
船讯网手机版-Android全球船舶位置查询
船讯网Android版使用说明1 系统要求船讯网Android版本,可以在Android手机和平板等移动平台上查询船舶位置,简单便捷!船讯网Android版需要在Android 2.1以上的手机或平板上使用。
免费下载,免费使用,船讯网不收取任何费用。
(上网产生的流量费,由移动、联通或电信收取)2 下载船讯网Android版您可以通过多种方式下载船讯网Android版,在船讯网网站、应用市场、二维码、手机浏览器中都可以。
2.1在船讯网上下载- 访问船讯网,点击中的Android按钮,进入Android下载页面。
- 点击“下载Android”安装包,下载到电脑上。
通过数据线、Wifi、蓝牙等方式,连接到手机安装。
2.2手机浏览器下载在你的手机浏览器(UC 浏览器,QQ浏览器,谷歌浏览器等)的输入网址:2.3在应用市场下载你可以在各类应用市场中搜索“船讯网”,在应用市场中下载。
船讯网Android版同步更新以下应用市场:QQ应用宝、360宝盒、360手机助手、机锋市场、豌豆荚、安智市场等图2 应用市场下载2.4二维码下载如果你的手上已经安装了二维码扫描软件,请扫描以下图案下载安装船讯网Android 版。
图3 二维码下载3 产品功能Android版是船讯网网站服务的延伸,使用Android版,可以简单方便的进行查船定位,随时随地掌握全球航运动态。
Android版本主要实现的功能有:- 在C-map电子海图上,查看全球船位;- 通过船名、呼号、MMSI、IMO等编号搜索船舶;- 查看、管理我的定制和我的船队信息;- 查看船舶资料信息;- 查看船舶24小时轨迹;- 通过手机,向船舶发送卫星短信(仅限安装D+的船舶);4 使用操作4.1船舶查询(1)在输入框中输入船名、呼号、MMSI、或IMO编号图4 船名搜索(2)点击搜索,得到结果列表图5 搜索结果(3)点击船名,定位到海图上图6 船位展示4.2查询船舶资料(1)点击船舶信息框图7 查看船舶信息(2)显示船舶资料信息船舶资料包含船名、呼号、MMSI、IMO、经纬度、船首向、航向、航速、船舶类型、船长、船宽、吃水、目的地等信息。
AndroidLocationManager获取经度与纬度等地理信息
AndroidLocationManager获取经度与纬度等地理信息Android LocationManager获取经度与纬度等地理信息利⽤LocationManager实现定位功能1 实时更新经度,纬度2 根据经度和纬度获取地理信息(⽐如:国家,街道等)(略过)MainActivity如下:package cc.bb;import java.util.Iterator;import java.util.List;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.widget.TextView;import android.app.Activity;import android.content.Context;/*** Demo描述:* 利⽤LocationManager实现定位功能* 1 实时更新经度,纬度* 2 根据经度和纬度获取地理信息(⽐如:国家,街道等)(略过)*** 注意事项:* 0 在测试GPS定位时最好在较为宽⼴的空间,否则影响定位* 1 利⽤mLocationManager.getLastKnownLocation(GPSProvider)获取Location时常为null.* 因为设备定位是需要⼀定时间的,所以把定位逻辑放在LocationManager的requestLocationUpdates()⽅法** 2 LocationManager.requestLocationUpdates* (String provider, long minTime, float minDistance, LocationListener listener)* 第⼀个参数:位置信息的provider,⽐如GPS* 第⼆个参数:更新位置信息的时间间隔,单位毫秒* 第三个参数:更新位置信息的距离间隔,单位⽶* 第四个参数:位置信息变化时的回调** 3 LocationListener中最重要的回调⽅法onLocationChanged()* 当minTime和minDistance同时满⾜时会调⽤该⽅法.⽂档说明:* The minDistance parameter can also be used to control the* frequency of location updates. If it is greater than 0 then the* location provider will only send your application an update when* the location has changed by at least minDistance meters, AND* at least minTime milliseconds have passed.* ⽐如间隔时间(minTime)到了3秒并且移动的距离(minDistance)⼤于了5⽶* 那么就会调⽤该⽅法.** 4 在Activity的onDestroy()时取消地理位置的更新.*** 权限配置:* <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>* <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>* <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>* <uses-permission android:name="android.permission.INTERNET"/>*/public class MainActivity extends Activity {private Context mContext;private TextView mTextView;private LocationManager mLocationManager;private LocationListenerImpl mLocationListenerImpl;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);init();initLocationManager(mContext);}private void init(){mContext=this;mTextView=(TextView) findViewById(R.id.textView);}private void initLocationManager(Context context){mLocationManager=(LocationManager)context.getSystemService(Context.LOCATION_SERVICE);//获取可⽤的位置信息Provider.即passive,network,gps中的⼀个或⼏个List<String> providerList=mLocationManager.getProviders(true);for (Iterator<String> iterator = providerList.iterator(); iterator.hasNext();) {String provider = (String) iterator.next();System.out.println("provider="+provider);}//在此采⽤GPS的⽅式获取位置信息String GPSProvider=LocationManager.GPS_PROVIDER;Location location=mLocationManager.getLastKnownLocation(GPSProvider);if (location!=null) {double longitude=location.getLongitude();double altitude=location.getAltitude();System.out.println("longitude="+longitude+",altitude="+altitude);} else {System.out.println("location==null");}//注册位置监听mLocationListenerImpl=new LocationListenerImpl();mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 5, mLocationListenerImpl); }private class LocationListenerImpl implements LocationListener{//当设备位置发⽣变化时调⽤该⽅法@Overridepublic void onLocationChanged(Location location) {if (location!=null) {showLocation(location);}}//当provider的状态发⽣变化时调⽤该⽅法.⽐如GPS从可⽤变为不可⽤.@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}//当provider被打开的瞬间调⽤该⽅法.⽐如⽤户打开GPS@Overridepublic void onProviderEnabled(String provider) {}//当provider被关闭的瞬间调⽤该⽅法.⽐如关闭打开GPS@Overridepublic void onProviderDisabled(String provider) {}}private void showLocation(Location location) {// 获取经度double longitude = location.getLongitude();// 获取纬度double altitude = location.getAltitude();String message="经度为:"+longitude+"\n"+"纬度为:"+altitude;mTextView.setText(message);}@Overrideprotected void onDestroy() {super.onDestroy();if (mLocationManager!=null) {mLocationManager.removeUpdates(mLocationListenerImpl);}}}main.xml如下:<RelativeLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:id="@+id/textView"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_centerInParent="true"android:gravity="center" /></RelativeLayout>如有疑问请留⾔或者到本站社区交流讨论,本站关于Android开发的⽂章还有很多,希望⼤家多多搜索查阅,感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!。
Android定位原理
Android定位原理做移动互联网就不太可能不碰手机端的开发。
上周为了项目需要,俺也挽袖子抡胳膊开始写起了android程序,还好有java基础,倒也上手快,写了几个小程序,主要都是关于定位方面的。
网上也搜得到一些相关的文章和教程,但给出的例子效果不太好,而且感觉只有其表,却不明其理。
因此写出此文,分享一些我的经验。
虽然是以android为主,但是我想对其它平台的开发也应该有些帮助。
这篇文章侧重于制定一个合理的定位方案。
手机定位的方式先科普一些基础知识吧。
最简单的手机定位方式当然是通过GPS模块(现在大部分的智能机应该都有了)。
GPS方式准确度是最高的,但是它的缺点也非常明显:1,比较耗电;2,绝大部分用户默认不开启GPS模块;3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间;4,室内几乎无法使用。
这其中,缺点2,3都是比较致命的。
需要指出的是,GPS走的是卫星通信的通道,在没有网络连接的情况下也能用。
另外一种常见的定位方式是基站定位。
大致思路就是采集到手机上的基站ID号(cellid)和其它的一些信息(MNC,MCC,LAC等等),然后通过网络访问一些定位服务,获取并返回对应的经纬度坐标。
基站定位的精确度不如GPS,但好处是能够在室内用,只要网络通畅就行。
还有Wifi定位。
和基站定位类似,这种方式是通过获取当前所用的wifi的一些信息,然后访问网络上的定位服务以获得经纬度坐标。
因为它和基站定位其实都需要使用网络,所以在Android也统称为Network方式。
最后需要解释一点的是AGPS方式。
很多人将它和基站定位混为一谈,但其实AGPS的本质仍然是GPS,只是它会使用基站信息对获取GPS进行辅助,然后还能对获取到的GPS结果进行修正,所以AGPS要比传统的GPS更快,准确度略高。
Android提供的定位接口在写第一个程序之前,我对android的幻想是这样的:提供了一个函数,能够让我直接从GPS 模块中读取经纬度坐标,还有一个函数,能够直接访问网络,获得基站定位的结果。
君联找帮
dingwei#密码获取目标手机地理位置信息。 hujiao#密码使目标手机呼叫主人60秒。 huanka#密码开启目标手机君联找帮的换卡通知。 shuoming#密码获取君联找帮的指令说明书。 好友手机发送 #114重置目标手机的君联找帮密码。 shuoming获取君联找帮的指令说明书。
(3)特色功能:
补充说明: 首先,手机丢失后,要冷静,不要过于着急而乱了阵脚; 其次,不要贸然对方,也不能怕对方,毕竟对方肯主动归还是最圆满的。不能商谈解决,再诉诸 法律; 最后,多换位思考:如果是我捡到手机,我什么情况下才会归还?(比如说失主知道我手机号了? 知道我的位置了?要给我点好处?要报警?)把握对方心理,软硬兼施才是上上之策。 2.忘记君联找帮密码怎么办? 答: 使用您设定的好友手机发送短信指令#114到手机或在拨号界面输入#114拨出,稍后好友手机会 收到重置后的密码,此功能需要连重置。
找帮还可以实时追踪,随时随地跟踪丢失手机,直到您找回手机。 本软可隐藏/显示应用图标,让手机变成坏人身边的炸弹。 我们打破了常规的软件打开方式,只要记住密码就可以#密码拨号快速打开软件。 密码忘记?自己和好友都可以重置密码。
核心功能
(1)客户端找回 客户端找回 目标定位:发送到目标手机获取手机地理位置。 销毁隐私:销毁目标手机的通讯录、短信、图片、视频等隐私数据。(此功能为不可逆操作,建 议先备份后销毁,谨慎操作。) 加密卸载:开启加密卸载,卸载时需要输入密码。 开启换卡通知:当目标手机更换SIM卡后,将向好友手机发送换卡通知,让您继续掌握遗失手机 的控制权。 安全备份:备份日常数据,保护数据安全。
君联找帮
手机防盗软件
君联找帮是一款免费的手机防盗软件,集备份数据、销毁隐私、定位等功能于一身。它如同一位 贴心的护卫,守卫着大家的宝贵手机,从各个角度对其进行细致入微的守护。在这个科技的海洋 中,君联找帮无疑是大家手机的最佳守护者。
Android设备的GPS和位置隐私
Android设备的GPS和位置隐私在当今数字时代,智能手机已经成为我们生活的不可或缺的一部分。
这些设备不仅让我们随时随地保持联系,还为我们提供了许多方便的功能,其中包括全球定位系统(GPS)。
尽管GPS技术在导航、地图应用和其他领域中提供了重要的帮助,但我们也需要认识到它与位置隐私之间的微妙平衡。
本文将探讨Android设备的GPS功能以及与之相关的位置隐私问题。
### GPS技术的重要性全球定位系统(GPS)是一种通过卫星信号来确定地理位置的技术。
它已经成为智能手机的标配,提供了无数便捷的功能。
首当其冲的就是导航应用,它们为我们提供了准确的驾驶指引,使我们能够在陌生的地方轻松找到目的地。
此外,GPS还支持各种其他应用,例如地图、社交媒体分享位置、运动追踪、天气预报等。
这些功能的普及使我们的生活更加方便和高效。
### 位置信息的用途位置信息不仅在导航中有用,还在许多其他应用中发挥了关键作用。
社交媒体平台利用位置数据来标记我们的帖子和分享,这有助于我们与朋友和家人分享旅行和特殊时刻。
此外,许多商业应用程序使用位置信息来提供个性化的服务,如当地商家推荐、特价优惠和活动通知。
运动和健身应用程序跟踪我们的运动路线,帮助我们分析和改善体能。
然而,正是这种信息的广泛使用引发了位置隐私的问题。
### 位置隐私的挑战虽然GPS和位置信息提供了众多便利,但它们也引发了一系列隐私问题。
首先,未经充分保护的位置信息可能被滥用。
不法分子可以利用这些数据来跟踪个人、进行盗窃或其他不法活动。
此外,广告商和数据经纪人可能滥用位置信息来推送高度定位的广告,可能引发隐私侵犯和不必要的干扰。
另一个问题是数据泄露的风险。
如果我们的位置数据被存储在不安全的服务器上,黑客可能会轻松获取这些信息,从而威胁我们的隐私和安全。
虽然许多公司承诺保护我们的数据,但不断发生的数据泄露事件提醒我们数据安全仍然是一个巨大的问题。
### 保护位置隐私的方法在面对位置隐私问题时,我们需要采取一些措施来保护自己的数据。
15.移动手机定位系统解决办法
手机定位手机定位监控:数码星辰移动手机定位系统解决方案***友情提示:我公司定位系统需在被定为的手机上装软件,无法满足寻找失踪人员的要求。
****版权所有,不得抄袭、或自行传播,转贴必须注明出处和提供本链接***概述地理信息系统以及移动通讯的发展,对人员、车辆、事件以及其他移动目标的定位的需求已经提到了日程,并且具有极为广阔的市场发展前景。
移动定位或手机定位业务可以用于运输业长途汽车或出租车定位、也可以用于救助中心对进行紧急呼叫的用户进行定位并实施援助、还可以用于政府或企事业单位对人员进行跟踪监控、考勤等等。
为了防止司机拉私活,或者了解货物的位置物流行业和货主均需要知道自己货运车辆和人员的位置,销售部门需要了解销售团队的位置、公安局需要了解警员的位置等等。
这种需求非常多,目前数码星辰只针对企业和政府部门的人员和车辆等定位服务,暂不提供对个人用户的定位服务。
手机定位是指利用GPS定位技术或者基站定位技术对手机进行定位的一种技术。
基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的。
基站定位则是利用基站对手机的距离的测算距离来确定手机位置的。
后者不需要手机具有GPS定位能力,但是精度很大程度依赖于基站的密度,有时误差会超过一公里。
GPS定位技术定位精度要高得多,但是要求移动终端具有GPS功能。
手机定位系统按照提供服务的方式可以分为两种:自有手机定位系统与公用定位服务。
公用手机定位服务一般由移动运营商来提供。
自有的定位系统是为某个企业和政府部门自己使用的定位系统。
它主要用于对人员、事件、案件、物品和车辆等的定位。
这种定位方式广泛地用于公安执法、城管部件定位、物流货物和车辆定位、长途车定位、紧急救援定位等等。
自有手机定位系统具有更加灵活、更易于控制的优势。
定位系统往往与政府或企业内部网相连,提供与自身业务更加紧密相关的基于位置的服务,例如,人员考勤、货物和事件定位,并可以利用系统的智能分析工具对其进行基于地理位置的分析和统计。
设置地区方法介绍
设置地区方法介绍全文共四篇示例,供读者参考第一篇示例:设置地区是一种非常常见的操作,我们在日常生活中经常需要对地区进行设置,例如在手机、电脑、社交媒体等平台上设置我们的地理位置。
地区设置不仅可以让我们更好地了解周围的信息,还能为我们提供更准确的服务。
下面我们就来介绍一下设置地区的常见方法。
一、手机设置地区方法1. Android手机设置地区方法:在Android手机上设置地区非常简单。
首先打开手机的设置菜单,然后找到“地区和语言”选项,点击进入后就可以看到“时区”和“地区”这两个选项。
点击“地区”选项后,可以选择你所在的地区或者根据需要手动设置地区。
2. Mac电脑设置地区方法:在Mac电脑上设置地区也很简单。
首先点击屏幕右上角的苹果图标,然后选择“系统偏好设置”。
在系统偏好设置中找到“语言与区域”选项,点击进入后就可以选择时区和地区。
在社交媒体平台上设置地区也非常方便。
以微信为例,我们可以在个人资料中设置所在地,并且可以开启地理位置分享功能,这样我们的朋友就可以看到我们的位置。
在Facebook、Instagram等社交媒体平台上也可以进行相应的地区设置。
设置地区是一个非常简单的操作,只需要按照相应的步骤进行设置即可。
通过设置地区,我们可以更好地获得周围的信息,为我们提供更准确的服务。
希望以上介绍对大家有所帮助。
第二篇示例:设置地区是为了方便用户在不同地理位置下获取相应的信息或服务。
比如在电子设备中设置地区可以帮助用户获取当地的时间、天气等信息,或者在网站中设置地区可以帮助用户浏览当地的新闻、活动等内容。
不同的软件、设备、网站都有不同的设置地区方法,下面将详细介绍几种常见的设置地区方法。
一、在电子设备中设置地区1. 手机/平板电脑在手机或平板电脑上设置地区的方法一般是在系统设置中进行。
用户可以进入系统设置,找到“地区与时区”或“日期与时间”选项,然后选择所在的地区或城市。
一般情况下,系统会根据用户所在的地理位置自动识别并显示附近的城市或地区,用户只需点击确认即可完成设置。
只需知道电话号码 即可监控任意一部手机,获取位置,太可怕
美国新闻媒体“60分钟”最近演示了如何去监控一位美国国会议员的智能手机,在这件令人难以置信的事件中我们要特别注意的一点是:这个漏洞自2014年起便开始曝光和传播,安全牛之前也有过至少两次的报道。
经协商,美国国会议员Ted Lieu 同意一个黑客小组监控他的iPhone,以向公众演示这种攻击的现实性和可怕性。
这些安全人员随后利用蜂窝网络的SS7信令系统协议的一个漏洞成功实现跟踪议员的位置,阅读他的短信,甚至监听并记录他的通话。
“首先,这真是令人毛骨悚然。
其次,它也让我很愤怒”,Lieu在知道他的手机通话被记录后表示。
“去年,美国总统给我打过电话,并且我们谈论了一些事情。
如果黑客们正在监听(我的手机),那他们就会知道这次通话的内容。
而这绝对会成为大麻烦。
”通过SS7的漏洞,黑客小组可以仅通过这部手机的电话号码,对该手机的通话和短信实现监听。
SS7对于移动网络来讲,提供通话开始和结束、回拨、通信连接、定位变化、账单数据、SMS短信内容传递等等的信令。
它几乎是移动业务的全部。
虽然这只是一个试验,但是当杜贝看到那张记录他的行踪的地图时,感觉还是很不舒服。
这意味着,远在世界另一边的某个人或某些人,可以看到他什么时候到办公室,住在什么地方,哪天清早去了机场。
当然,还知道他在电话里说了些什么。
“这真是让人后背发凉。
”其实对普通用户来讲,最大的危险在于,当遇到这类事件时,无法有效的去阻止,黑客可以随便查看你的短信,或者其它聊天记录,也可以随便窃听你的通话内容,男士们要小心了,当心你的老婆用这个技术去监视你哦!现在唯一能解决这个问题的办法,就是关机,否则,所有用户都无法避免被黑客用这种方法攻击!看到这里是不是觉得很可怕那么我们说下这些原理是什么?最后面对日益强大的互联网技术我们该如何防范呢?为了让大家明白,黑客是实现上面所说的,将在这里曝光全流程。
当然,不同的操作系统方法会有区别的。
安卓系统是世界上使用最为广泛的操作系统,所以就先从它开始吧。
基于Android的手机号码归属地查询系统的设计与实现
S O A P开发 包 ,利 用 它可 以非 常 方 便地 访 问 We b
S e vi r c e 。本 系 统 利 用 K S o a p 2一A n d r o i d直接 调 用
以往传统的手机归属地查询系统在联系人和
通话 记 录上 没 有显示 归 属地 信息 ,当一个 联 系人
有 多个 号码 的 时候往 往 不能判 断 哪个 号码 是异 地
S O A P的接 口 ,从 We b S e r v i c e的提 供商 中获 取手 机归属 地 的数据 。
( 二)S Q L i t e
号码 ,未接 的 陌生来 电因没有 归 属地 信息 也没 有 办 法来 决定是 否要 回拨 。本 文 在 A n d r o i d手 机 平
系统调 用 We b S e r v i c e获取手 机归 属地 信息 , 得到 的结果 可 以保存 在本地 数据 库 。系统 结构 如
图1 所示。
三、系统 的设计 与实现
厂 、
.
\、
一 /
S Q L i t e 数据库
● — — _ . .
A n d r o i d平 台
・
4 3・
厦 门城市 职业学 院学 报 程 空 间 ,而不 是单 独 的一 个 进程 ,在 A n d r o i d平
( 一 ) 系统结 构设计
2 0 1 3正
台上就 已经集 成 了该数 据库 。本 系统 利用 S Q L i t e 管 理保 存在本 地 的手机 归属 地信 息 。
核心应用等。如今 A n d r o i d 平 台得到了业界众多
公 司 的 青 睐 和 大 力 支 持 ,厂 商 主 要 包 括 H T C、
android安卓调用 WebService 远程服务接口实现手机号归属地查询
1. .xn 提供了很多WebService 远程WEB 服务方案。
其中有一项为手机号码归属地查询。
2. 新建 Android 项目.3. 创建用于请求的 XML 文档:src/mobile.xml1.<!-- 拷贝于其网站文档 -->2.<?xml version="1.0"encoding="utf-8"?>3.<soap:Envelope xmlns:xsi="/2001/XMLSchema-instance"xmlns:xsd="/2001/XMLSchema"xmlns:soap="/soap/envelope/">4.<soap:Body>5.<getMobileCodeInfo xmlns="/">6.<mobileCode>$mobile</mobileCode> <!-- $mobile 为值定义的一个占位符,在程序中读取此 XMl 之后,需要将它替换成用户输入的手机号码 -->7.<userID></userID>8.</getMobileCodeInfo>9.</soap:Body>10.</soap:Envelope>11.4. Service: 接收用户输入的手机号码,远程调用:/WebServices/MobileCodeWS.asmx ,获取手机归属地若响应成功,服务器会返回这样一个 XML 文档:-----------------------<?xml version="1.0" encoding="utf-8"?><soap12:Envelopexmlns:xsi="/2001/XMLSchema-instance"xmlns:xsd="/2001/XMLSchema"xmlns:soap12="/2003/05/soap-envelope"><soap12:Body><getMobileCodeInfoResponse xmlns="/"><getMobileCodeInfoResult>返回的手机号码归属地</getMobileCodeInfoResult></getMobileCodeInfoResponse></soap12:Body></soap12:Envelope>-----------------------1./**2.* 查询手机号码归属地3.*/4.public class MobileService {5.public static String getMobileAddress(String mobile) throws Exception {6.String path ="/WebServices/MobileCodeWS.asmx";7.8.InputStream is =MobileService.class.getClassLoader().getResourceAsStream("mobile.xml");9.byte[] data = StreamTool.readInputStream(is);10.String xmlStr = new String(data);11.12./* 替换掉手机号码的占位符 */13.xmlStr = xmlStr.replaceAll("//$mobile", mobile);14.Log.i("MobileService", xmlStr);15.16.data = xmlStr.getBytes("UTF-8");17.URL url = new URL(path);18.HttpURLConnection conn = (HttpURLConnection) url.openConnection();19.20.// 设置请求参数与请求头21.conn.setReadTimeout(5*1000);22.conn.setRequestMethod("POST");23.conn.setDoOutput(true);24.conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");25.conn.setRequestProperty("Content-Length", "" + data.length);26.27.// 将数据写往服务器28.OutputStream os = conn.getOutputStream();29.os.write(data);30.os.flush();31.os.close();32.33.if(conn.get) {}34./* 解析服务器返回的信息 */35.is = conn.getInputStream();36.return parseInput(is);37.}38.39./**40.* 从输入流中解析出号码归属地41.*/42.private static String parseInput(InputStream is) throws Exception {43.XmlPullParser parser = Xml.newPullParser();44.parser.setInput(is, "UTF-8");45.int et = parser.getEventType();46.47.while(et != XmlPullParser.END_DOCUMENT) {48.switch(et) {49.case XmlPullParser.START_TAG :50.String tagName = parser.getName();51.if(tagName != null && "getMobileCodeInfoResult".equals(tagName)) {52.return parser.nextText();53.}54.}55.et = parser.next();57.return "";58.}59.}5. Activity1.5. Activity2.public void onCreate(Bundle savedInstanceState) {3.super.onCreate(savedInstanceState);4.setContentView(yout.main);5.6./* 用于输入待查手机号码文本框 */7.mobileText = (EditText) findViewById(R.id.mobile);8./* 用于输出查询结果的标签 */9.resultView = (TextView) findViewById(R.id.result);10./* 确认查询按钮 */11.button = (Button) findViewById(R.id.button);12.13./* 为其绑定点击事件 */14.button.setOnClickListener(new View.OnClickListener() {15.16.@Override17.public void onClick(View v) {18.String mobile = mobileText.getText().toString();19.try {20./* 调用业务方法,获取手机归属地 */21.String result = MobileService.getMobileAddress(mobile);22.resultView.setText(result);23.} catch (Exception e) {24.Toast.makeText(MainActivity.this, R.string.error,Toast.LENGTH_LONG).show();25.Log.e(TAG, e.toString());26.}27.}28.});1.public class StreamTool {2.public static byte[] readInputStream(InputStream is) throws Exception {3.ByteArrayOutputStream bos = new ByteArrayOutputStream();4.5.byte[] buffer = new byte[1024];6.int len;7.8.while((len = is.read(buffer)) != -1 ) {9.bos.write(buffer, 0, len);10.}11.12.is.close();13.bos.close();14.15.return bos.toByteArray();16.}17.}。
基于Android平台的个人GPS定位报警系统的设计与开发
基于Android平台的个人GPS定位报警系统的设计与开发高偲程;马广焜;李想;刘智宇【摘要】针对儿童被诱拐、大学生被拐骗、老年人走失、成人与幼儿溺水等各种突发紧急事件及不法侵害的出现,本系统设计基于Android平台的GPS定位报警系统.在移动端系统使用GPS模块进行定位,将GPS模块采集到的地理位置信息通过GSM网络上传到云服务器,并开发An-droid客户端的程序对云服务器转发的用户位置信息进行接收,再将接收到的数据在地图上进行匹配.同时,当移动端用户发出报警信息时客户端用户可以接收短信并展开定位追踪.本项目设计的个人定位报警系统既具有定位功能,又能实现应急情况实时报警功能,可以有效地保证人身财产安全.【期刊名称】《智能计算机与应用》【年(卷),期】2018(008)001【总页数】4页(P141-144)【关键词】GPS;实时定位;报警;Android平台【作者】高偲程;马广焜;李想;刘智宇【作者单位】沈阳工业大学软件学院, 沈阳110023;沈阳工业大学软件学院, 沈阳110023;沈阳工业大学软件学院, 沈阳110023;沈阳工业大学软件学院, 沈阳110023【正文语种】中文【中图分类】TP393.0引言对于突发事件及不法侵害,很多人由于不能得到及时救助而遇险[1]。
对于事故者来说,能得到及时的救护是首要条件。
如果对事故者进行准确定位,并发出位置信息至指定的移动智能通讯设备就可以大大减轻事故所造成的危害。
可以通过GPS 进行地理位置定位。
然而国内研发的大部分GPS产品都局限于车载导航产品,面向大众的手持GPS报警产品并不多见。
个人GPS定位报警系统以其体积小、便于携带、价格低廉、独立使用等优点将成为重点研究方向之一。
本系统通过GPS模块获取移动端的位置信息,并使用移动网络上传至云服务器,服务器将数据转发给客户端,客户端解析数据并在地图上显示移动端的位置。
当发生紧急情况时可以做到一键报警,防止人身财产受到侵害。
Androzic使用说明(android手机导航软件)修订版
Androzic使用说明(修订版)——绿野org幽渊前言:本文是使用华为9508 android手机,加载androzic导航软件(版本1.6)时的一些经验;一些网上资料的摘抄;一些手机截屏+功能介绍的汇总。
个人精力有限就不重新编辑,一并放入这个使用说明里。
本文涉及的名词或软件或地图,用法不解释请自行百度,来源不提供请自行谷歌;内容不可能面面俱到,但都是亲自操作过的;所述不一定正确,仅作参考。
本人在户外运动这方面,同时安装了androzic、Oruxmap、六只脚,这三款导航软件,各有特点,配合着用。
((六只脚,国内做的,有网站支持,我主要用来共享和搜集轨迹,照片分享什么的不敢兴趣,希望能变得更好更强大;oruxmaps的强大没的说,用;androzic,把以前搜集的很多ozi地图资源用上了,也挺好用。
))一、自己使用体会androzic是一个支持ozi地图的开源软件,解决了oziexplorer收费的问题。
目前主要用Androzic,现在的版本完成度远高于OZI for Android,不太喜欢Oruxmap,但目前网上有其使用说明(招财在本版就有下载链接),也一并装了,并使用了招财做的地图文件,但比较烦人的是地图缩放存在的几个问题和地图间的转换。
Androzic最新版已经可以支持简体中文了,但.Map文件里面的中文还是没有显示的。
解决之道,参考/club/12/topic/6601/所述内容。
经本人实际测试,.Map 文件的第三行里的地图数据文件名,也需要对应修改。
本人手机里目前装了招财提供的03版北京户外地图;10版北京户外地图;京津冀地图;北京六环内详图(文件扩展名是ozfx3,使用正常);北京市全图等几个ozi,户外市内周边全搞定。
几个地图间的切换一键搞定,非常方便,这点是让人非常满意的。
Ozi在网上的资源挺多,可以提前搜索,也可以自行制作。
在豌豆荚里还搜到了个androzic sms插件,就sms一般的概念可以理解其功能,具体还没装。
手机指南针有经纬度显示吗
手机指南针有经纬度显示吗简介手机指南针是一种利用手机内置的传感器实现的应用程序,用于指示北方的方向。
市面上的大多数手机都配备了指南针功能,但是否能够显示经纬度取决于具体的手机型号和操作系统。
在本文中,我们将深入探讨手机指南针的工作原理,并解答手机指南针是否具有经纬度显示功能的问题。
手机指南针的工作原理手机指南针依赖于手机内置的磁力计和加速度计传感器。
磁力计用于检测地球的磁场方向,而加速度计则用于检测手机的姿态。
当你打开手机指南针应用程序时,手机会利用磁力计和加速度计来获取当前的姿态和磁场方向。
通过计算这两个数据的差异,手机指南针能够确定手机的朝向,并将其显示在屏幕上。
经纬度显示功能一般情况下,手机指南针应用程序并不直接提供经纬度显示功能。
然而,通过与其他应用程序的配合使用,你可以间接地获取到经纬度信息。
例如,在Android系统中,你可以在指南针应用程序中查看方向,并通过与地图应用程序的结合来获取当前位置的经纬度。
类似地,在iOS系统中,你可以使用指南针应用程序来确定方向,并通过与地图或导航应用程序的集成来获得经纬度信息。
总之,手机指南针本身并不具备直接显示经纬度的功能,但可以通过与其他应用程序的联动实现获取经纬度的操作。
其他手机导航功能除了手机指南针,现代手机还提供了许多其他导航功能,帮助我们快速准确地定位和导航。
1.GPS定位:大多数智能手机都配备了GPS模块,可以利用全球定位系统(GPS)卫星信号来确定手机的精确位置。
GPS定位功能不仅可以显示经纬度,还可以提供实时导航和路线规划等功能。
2.蓝牙导航:一些手机可以利用蓝牙导航设备来提供室内导航和定位服务。
这种导航方式不依赖于地理位置和磁场方向,而是通过接收蓝牙信号来进行定位。
3.红外线导航:一小部分手机还配备了红外线传感器,可以用于红外线导航。
这种导航方式通过发送和接收红外线信号来确定手机的位置。
总结起来,手机导航功能已经相当成熟和普及,除了指南针以外,GPS定位、蓝牙导航和红外线导航等技术也在成为我们日常生活中的重要参考。
客户端开发教程:学会使用常见的位置定位技术(十)
在移动应用开发中,位置定位技术是一个非常重要的环节。
通过使用位置定位技术,我们可以为用户提供更加准确的服务,例如查找附近的餐馆、导航到目的地等。
本文将介绍一些常见的位置定位技术,并教你如何在客户端开发中使用它们。
1. GPS定位GPS(全球定位系统)是最常见和最常用的位置定位技术之一。
几乎所有智能手机都配备了GPS芯片,可以通过与卫星的通信来获取设备的地理位置信息。
在客户端开发中,我们可以使用手机操作系统提供的API来获取GPS定位信息。
首先,我们需要在文件中添加定位权限。
在``<manifest>``标签内添加以下代码:```<uses-permission android:name="_FINE_LOCATION" />```然后,我们可以在代码中使用LocationManager类来获取GPS定位信息。
以下是一个示例代码:```LocationManager locationManager = (LocationManager) getSystemService(_SERVICE);LocationListener locationListener = new MyLocationListener();(_PROVIDER, 0, 0, locationListener);```在上面的代码中,我们首先获取LocationManager对象,并创建一个实现LocationListener接口的自定义类MyLocationListener。
然后,我们使用requestLocationUpdates方法来注册位置更新监听器,其中GPS_PROVIDER参数表示我们要使用GPS定位。
在MyLocationListener类中,我们可以实现onLocationChanged方法来处理位置更新事件。
例如,我们可以在该方法中获取到最新的经纬度信息:```public void onLocationChanged(Location location) {double latitude = ();double longitude = ();// 处理经纬度信息}```通过上述步骤,我们就可以在客户端应用中使用GPS定位技术了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android手机号获取地理位置信息Android 通过手机号获取本机所在地理位置信息。
由于手机号通过基站信号传递,所以定位信息在最近基站附近,且有一部分误差。
class{public static void main(String[] args){System.out.println("Hello World!");}public void test(){TelephonyManager telMgr =(TelephonyManager)getSystemService(TELEPHONY_SERVICE);//生成连接网络ConnectivityManager connMgr =(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);//获取基站信息GsmCellLocation cellLocation =(GsmCellLocation)telMgr.getCellLocation();NetworkInfo info = connMgr.getActiveNetworkInfo();if(info!=null&&info.isConnected()){int cellId = cellLocation.getCid();int lac = cellLocation.getLac();//访问google,获取返回值String urlStr = "/loc/json";URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type","appplication/json");conn.setRequestProperty("User-Agent","UNTRUSTED/1.0");String json = "{"+ "\"host\":\"\","+ "\"version\":\"1.1.0\","+ "\"cell_towers\":[{\"cell_id\":\""+ cellId + "\",\"location_area_code\":\""+ lac+ "\"}]}";conn.setDoOutput(true);conn.setDoInput(true);conn.setRequestProperty("Content-Length",String.valueOf(json.length()));OutputStream os = conn.getOutputStream();os.write(json.getBytes());os.close();InputStream is = conn.getInputStream();BufferedReader in = new BufferedReader (new InputStreamReader(is));result = in.readLine();in.close();//整理结果集int index = result.indexOf("latitude");if(index != -1){int latBegin = index + 10;int latEnd = result.indexOf(",", latBegin);String lat = result.substring(latBegin, latEnd);int lngBegin = result.indexOf("longitude") + 11;int lngEnd = result.indexOf(",",lngBegin);String lng = result.substring(lngBegin,lngEnd);//result = "lat:" + lat+"\n"+"lng:" + lng;longitude = Double.valueOf(lng);latitude = Double.valueOf(lat);result = getAddrByLongLat(longitude, latitude);if(result.indexOf("Error")<0){//无错,显示查看地图按钮 }else{}myLocTxtView.setText("定位结果:\n"+"经度:"+longitude+"\n"+"纬度:"+latitude+"\n"+"大概位置:"+result);return;}}}//通过获取的经纬度获取实际的地理位置信息public String getAddrByLongLat(double longitude,double latitude){ String address = null;//36.653885,116.951862InputStream is = null;try{String urlStr =String.format("/maps/geo?output=csv&key=0R3RdDm1 _Q6TaAnypeFQYsZM2EtFWNWSaKC-AkA&q=%s,%s",latitude,longitude); //key的键值可省略URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setDoInput(true);is = conn.getInputStream();BufferedReader in = new BufferedReader (new InputStreamReader(is));if((address = in.readLine())!=null){String[] resultArr = address.split(",");if(resultArr.length>2&&"200".equals(resultArr[0])){address = resultArr[2].replace("\"", "");return address;}}in.close();}catch(Exception e){address = "Error:"+e.getMessage()+"";}finally{try {if(is!=null)is.close();} catch (IOException e) {}}address = "Error:获取失败";return address;}}简化调用---activity//获取手机号TelephonyManager tManager;//获取手机号ConnectivityManager connMgr;tManager =(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);//phoneNumber = tManager.getLine1Number();//获取本机的手机号码connMgr =(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);String result = newAndroid_handle_util(Index_Activity.this).getLongLat(tManager,conn Mgr);----后台方法//通过手机获取经纬度public String getLongLat(TelephonyManagertelMgr,ConnectivityManager connMgr){String result = null;// TelephonyManager telMgr =(TelephonyManager)getSystemService(TELEPHONY_SERVICE);// //生成连接网络// ConnectivityManager connMgr =(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);//获取基站信息GsmCellLocation cellLocation =(GsmCellLocation)telMgr.getCellLocation();NetworkInfo info = connMgr.getActiveNetworkInfo();if(info!=null&&info.isConnected()){int cellId = cellLocation.getCid();int lac = cellLocation.getLac();//访问google,获取返回值String urlStr = "/loc/json";try {URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type","appplication/json");conn.setRequestProperty("User-Agent","UNTRUSTED/1.0");String json = "{"+ "\"host\":\"\","+ "\"version\":\"1.1.0\","+ "\"cell_towers\":[{\"cell_id\":\""+ cellId + "\",\"location_area_code\":\""+ lac+ "\"}]}";conn.setDoOutput(true);conn.setDoInput(true);conn.setRequestProperty("Content-Length",String.valueOf(json.length()));OutputStream os = conn.getOutputStream();os.write(json.getBytes());os.close();InputStream is = conn.getInputStream();BufferedReader in = new BufferedReader (new InputStreamReader(is));result = in.readLine();in.close();}catch (Exception e) {e.printStackTrace();}//整理结果集int index = result.indexOf("latitude");if(index != -1){int latBegin = index + 10;int latEnd = result.indexOf(",", latBegin);String lat = result.substring(latBegin, latEnd);int lngBegin = result.indexOf("longitude") + 11;int lngEnd = result.indexOf(",",lngBegin);String lng = result.substring(lngBegin,lngEnd);//result = "lat:" + lat+"\n"+"lng:" + lng;double longitude = Double.valueOf(lng);double latitude = Double.valueOf(lat);result = getAddrByLongLat(longitude, latitude);if(result.indexOf("Error")<0){//无错,显示查看地图按钮 }else{}// myLocTxtView.setText("定位结果:\n"// +"经度:"+longitude+"\n"// +"纬度:"+latitude+"\n"// +"大概位置:"+result);}}return result;}//通过获取的经纬度获取实际的地理位置信息public String getAddrByLongLat(double longitude,double latitude){ String address = null;//36.653885,116.951862InputStream is = null;try{String urlStr =String.format("/maps/geo?output=csv&key=0R3RdDm1 _Q6TaAnypeFQYsZM2EtFWNWSaKC-AkA&q=%s,%s",latitude,longitude);URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setDoInput(true);is = conn.getInputStream();BufferedReader in = new BufferedReader (new InputStreamReader(is));if((address = in.readLine())!=null){String[] resultArr = address.split(",");if(resultArr.length>2&&"200".equals(resultArr[0])){address = resultArr[2].replace("\"", "");return address;}}in.close();}catch(Exception e){address = "Error:"+e.getMessage()+"";}finally{try {if(is!=null)is.close();} catch (IOException e) {}}address = "Error:获取失败";return address;}。