精华内容
下载资源
问答
  • Cell_ID手机定位示例工具,VB源代码,有一定的参考价值
  • 手机定位

    2017-06-10 02:11:35
    1、写好显示数据的界面 android:id="@+id/tv_location1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true

    1、写好数据显示的界面

     <TextView
            android:id="@+id/tv_location1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/tv_location0"
            android:text="数据"
            android:textColor="#00bbff"
            android:textSize="20dp" />

    2、获取系统的位置服务,可以用LocationManager类来访问系统的位置(服务)。 这些服务允许应用程序获得设备地理位置的周期性更新,或者在设备进入给定地理位置附近时触发指定的应用程序。我们可以通过getSystemService来实例化。
    3、使用requestLocationUpdates方法来开启定位功能,最后当销毁界面时一定要关闭位置更新。

    public class MainActivity extends Activity {
    
        private LocationManager mLM;
        private MyListener myListener;
        private TextView textLocation;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            textLocation = (TextView) findViewById(R.id.tv_location1);
    
            myListener = new MyListener();
            mLM = (LocationManager) getSystemService(LOCATION_SERVICE);//LocationManager类提供对系统位置服务的访问
            List<String> allProviders = mLM.getAllProviders();// 获取位置提供者,GPS、网络等等
            System.out.println(allProviders);// 打印的结果:[passive,gps,network] passive:指的是一种特殊的位置提供者(PASSIVE_PROVIDER),直接使用第三方应用获得的地理位置信息,如浏览器获得的位置信息(缺点:位置信息没有及时更新,优点:不用调用GPS定位,省电,获得位置数据速度快)  gps:GPS定位提供者(GPS_PROVIDER),代表要调用GPS模块定位  network:网络定位提供者(NETWORK_PROVIDER),代表通过基站和WIFI的访问点确定位置
    
            /**
             * 使用LocationManager中的方法开启定位功能。requestLocationUpdates方法的作用:使用指定的位置提供者注册位置更新,设置更新规则。
             * LocationManager.requestLocationUpdates(String provider, long minTime,float minDistance, LocationListener listener)
             * 参数:(指定位置提供者,最小更新的时间间隔,最短更新的距离,位置变化监听者)
             */
            mLM.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,  myListener);
        }
    
        class MyListener implements LocationListener {
            private long elapsedRealtimeNanos;
            private double latitude;
            private double altitude;
            private double longitude;
            private float speed;
            private float bearing;
            private long time;
    
            /**
             * 当位置发生变化时调用
             */
            @SuppressLint("NewApi")
            @Override
            public void onLocationChanged(Location location) {
                latitude = location.getLatitude();//火星坐标
                longitude = location.getLongitude();
                altitude = location.getAltitude();
                elapsedRealtimeNanos = location.getElapsedRealtimeNanos();
                speed = location.getSpeed();
                bearing = location.getBearing();
                time = location.getTime();
                System.out.println("经度:"+ longitude+ "°\n纬度:"+ atitude+ "°\n海拔(World Geodetic System GPS所采用的坐标系是美国国防部1984世界坐标系,简称WGS-84。):" + altitude + "米\n地表速度:" + speed + "m/s\n本地区时间(地理时间):" + elapsedRealtimeNanos);
                textLocation.setText("经度:"  + longitude + "°\n纬度:"  + latitude + "°\n海拔(World Geodetic System GPS所采用的坐标系是美国国防部1984世界坐标系,简称WGS-84。):"+ altitude + "米\n地表速度:" + speed + "m/s\n本地区时间(地理时间):" + elapsedRealtimeNanos+"\n角度:"+bearing+"°\n时间(UTC):"+time);
            }
    
            /**
             * 当提供者状态发生变化时调用。当提供者无法获取位置信息时,或者提供者在无效后变成有效的状态,调用此方法。
             */
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                Toast.makeText(getApplicationContext(), "位置提供者发生变化onStatusChanged",1000).show();
            }
    
            /**
             * 当用户启用位置提供者时调用,即GPS开关打开。
             */
            @Override
            public void onProviderEnabled(String provider) {
                Toast.makeText(getApplicationContext(), "GPS开关打开onProviderEnabled",1000).show();
            }
    
            /**
             * 当用户禁用位置提供者时调用,即GPS开关关闭。如果调用requestlocationupdates时,已经禁用位置提供者时,调用此方法。
             */
            @Override
            public void onProviderDisabled(String provider) {
                Toast.makeText(getApplicationContext(), "GPS开关关闭onProviderDisabled", 1000).show();
            }
        }
    
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            // 当界面销毁时,应该停止监听位置更新功能,否则该应用会执行更新位置。
            mLM.removeUpdates(myListener);
        }
    }

    3、在清单文件AndroidManifest.xml中添加权限。

       <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
       <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
       <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

    4、运行结果
    这里写图片描述

    展开全文
  • 手机定位原理

    2016-07-12 10:51:19
    目前手机上广泛使用的定位技术有四种:基站定位、WiFi定位、集成GPS定位和辅助GPS定位。一、基站定位基于蜂窝移动通信技术。移动通信网络是由许多按照一定规则布局的基站(大铁塔)构成的,每个基站覆盖一个正六边形...

    目前手机上广泛使用的定位技术有四种:基站定位、WiFi定位、集成GPS定位和辅助GPS定位。

    一、基站定位

    基于蜂窝移动通信技术。移动通信网络是由许多按照一定规则布局的基站(大铁塔)构成的,每个基站覆盖一个正六边形区域,每个正六边形区域称为一个小区,每个小区(基站)都有一个固定的ID(编号),这样形成的网络酷似蜂窝,其主要特征是终端的可移动性,并具有越区切换和跨本地网自动漫游功能。只要手机不是离线模式,不仅移动通信运营商时刻清楚手机位于哪个小区,而且手机中也有当前所处小区的ID。国家安全部门正是通过小区ID来掌握犯罪嫌疑人的大概位置,手机定位软件则通过侦测手机中的小区ID进行定位(必须有基站位置数据库和地图数据的配合)。这种定位的精度取决于手机所处小区半径的大小,从几百米到几十公里不等。注意有些手机是不允许侦测基站ID的,比如Windows Mobile手机,这类手机将无法使用基站定位软件。

    二、WiFi定位

    定位软件通过侦测WiFiID(路由器地址),然后在其WiFi位置数据库和地图数据的配合下完成定位。要使用WiFi定位,手机必须支持并启用WiFi。其精度取决于WiFi路由器的密度及WiFi位置数据库的详实程度,精度大约200米。Google手机地图就支持WiFi定位,大家可以试一下。

    三、集成GPS定位

    基于美国运营的全球卫星定位系统,24GPS卫星分布在距离地面1.2万公里6个道平面上,以12小时的周期环绕地球运行,使得任意时刻地面上任意点都可以观测到4颗以上的卫星。集成GPS定位需要手机内置GPS模块,该模块只有接收功能,没有发射功能。24GPS卫星不断向地球发射着包含时间、卫星点位等重要参数的信息,被我们的手机收到后,手机会利用多个卫星的同一时间发出的信号到达的先后顺序及时差计算出手机到各个卫星的距离,然后利用三维坐标中的距离公式,利用3颗卫星组成3个方程式,解算出手机的位置(X,Y,Z)。考虑到卫星时钟与手机时钟之间的误差,实际上有4个未知数,XYZ和钟差,因而需要引入第4颗卫星,形成4个方程式进行求解,从而得到手机的经纬度和高程。事实上,手机往往可以锁住4颗以上的卫星,这时,手机可按卫星的星座分布分成若干组,每组4颗,然后通过算法挑选出误差最小的一组用作定位。

    四、辅助GPS定位

    辅助GPSAssist GPS(简称A-GPS),是网络辅助的全球卫星定位系统。辅助GPS定位要求定位软件运营商做到:①在定位软件中设计侦测和发送基站ID (蜂窝移动通信小区编号)的任务;②建立基站位置数据库(基站编号-GPS位置)并尽可能涵盖所有基站;③在互联网上建立位置服务器;④在地面建设GPS基准站(用于观测GPS卫星并向位置服务器提供全球星历数据)。辅助GPS定位实际就是"基站定位 + 远端星历数据 + GPRS传输 + 集成GPS定位"

    展开全文
  • 手机定位的方式

    2016-05-22 14:46:00
    价值:这个无需多说,大家都知道 方式: ...基站信号 基站在全球有唯一ID,如果手机能获取到周围的基站ID,则也可以依据GPS定位同样的原理来定位 IP 全球的IP分配是有地域性的,但是精度不高 蓝牙...


    价值:
    这个无需多说,大家都知道

    方式:

    • GPS 需要三个或者更多个地球同步卫星进行定位, 两个卫星是不行的,因为会有两个可能的值
    • WIFI信号 根据手机连接的WIFI信号源确定手机的位置,如果是移动的WIFI信号源,就不准确了
    • 基站信号 基站在全球有唯一ID,如果手机能获取到周围的基站ID,则也可以依据GPS定位同样的原理来定位
    • IP 全球的IP分配是有地域性的,但是精度不高
    • 蓝牙
    • 磁场

    转载于:https://www.cnblogs.com/fyzjhh/p/5516747.html

    展开全文
  • 通过Android手机上的定位信息来源可分为三种,GPS,Cell-ID,和Wifi. 后两种因为都按来自于网络,所以在Android SDK中统一为基于网络的定位。目前三种定位方式都不够完善,各有优缺点。基于GPS信号的定位在三者中精度...

    通过Android手机上的定位信息来源可分为三种,GPS,Cell-ID,和Wifi. 后两种因为都按来自于网络,所以在Android SDK中统一为基于网络的定位。目前三种定位方式都不够完善,各有优缺点。 

    基于GPS信号的定位在三者中精度较高,但是缺点是当前民用的GPS信号在建筑物内的信号比较差,而且GPS模块启动的时间也比较慢,它的工作原理其实是搜索附近的4颗卫星,根据当前位置到这四颗卫星的距离来定位,GPS模块找到四颗卫星(也称之为GPS的启动过程)根据信号强度和地域的不同有可能需要几分钟的时间;基于基站和Wifi的定位在Android API中被统一称为网络定位,开发者无法将两者区分开来,他们的特点是速度快,但是精度不如GPS高。我们也常常听说到AGPS定位算法,是结合了两种算法的优点,首先根据网络的快速定位来获得一个大致位置,然后根据这个位置去帮助GPS模块快速地搜索到附近的卫星。这是目前通过的效果较好的方式。下面仅仅介绍如何进行基本的GPS定位和网络定位。 

      在开始定位之前首先要获得LocationManager,然后根据可以根据一定的规则去选择一个定位方法,代码如下, 

    LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 

      选择定位算法的规则: 

      Criteria criteria = new Criteria(); 
      criteria.setAccuracy(Criteria.ACCURACY_FINE);               //设置为最大精度 
      criteria.setAltitudeRequired(false);                                     //不要求海拔信息criteria.setCostAllowed(true);                                             //是否允许付费 
      criteria.setPowerRequirement(Criteria.POWER_LOW);     //对电量的要求 
      criteria.setBearingRequired(false);                                    //不要求Bearing信息 

    关于Bearing的解释,请查看Bearing释疑 


    //根据上述法则选择一个定位方法 

    bestProvider = locationManager.getBestProvider(criteria, false); 

    //通常我们为了提高用户体验,我们先把上次定位的结果缓存下来, 

    //在启动先打开上次定位结果,称为last known location 

    Location location = locationManager.getLastKnownLocation(bestProvider); 

    //接下来我们在Activity的显示界面的函数OnResume中启动定位的位置更新 

    locationManager.requestLocationUpdates(bestProvider, 2000, 1, this); 

    //并且在OnPause函数中关闭 

    locationManager.removeUpdates(this); 

    // 让当前Activity实现LocationListener端口,在onLocationChanged函数获得定位信息 

    public void onLocationChanged(Location location) { 

            Log.d(TAG, "Latitude :" + location.getLatitude()); 

            Log.d(TAG, "Longitude :" + location.getLongitude()); 



    //最近记得在AndroidMenifest.xml文件中赋于定位的权限 

        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    转载于:https://www.cnblogs.com/topwang-com/archive/2012/12/05/2802671.html

    展开全文
  • 中国移动LBS手机定位JAVA源码

    热门讨论 2010-03-24 15:11:15
    中国移动LBS手机定位JAVA源码,CELL-ID技术是目前最简单的定位技术,它的原理是通过获取目标手机所在的蜂窝小区ID来确定其所在的位置,提供给定位用户。它不需要移动台提供任何定位测量信息,也无须对现网进行改动,...
  • 最全的LBS手机定位技术说明

    千次阅读 2019-07-24 13:41:13
    当设备位置更新设备会向当前服务小区报告当前位置信息,Cell ID定位的精度随着小区的覆盖范围而变化,从几十米到上百米不等。Cell ID是目前最容易使用的定位方式。只要获取手机访问的基站编号,在通过后台服务得到...
  • 当我们手机开机时,手机会自动向信号最强的无线通讯台联系,注册信息,这个通讯台就是我们所说的基站,每个基站都有自己的id,我们通过这个基站的id能够找到基站的位置,而国内城市的基站密度可以达到500米以下或者...
  • 电脑如何定位苹果手机.首先在苹果手机上点设置.拉下来点iCloud.会显示要apple ID和密码才能够登陆.
  • 3.鼠标放在左侧元素上,右侧为定位信息:即可获得text/resource-id/class等熟悉信息. 方法二:Appium桌面工具定位 1.启动Appium桌面版软件,startserver 2.输入设备连接参数信息后,start session,创建sess
  • appium desktop连接手机定位页面元素

    千次阅读 2019-07-09 11:26:20
    一、获取手机id 略过基础环境配置,前面博客有介绍。通过adb devices查看 唯一id:db3dc449 二、获取appPackage、appActivity 参考https://mp.csdn.net/postedit/95105457 三、连接APP客户端(app-desktop...
  • 先请有 iPhone 手机主屏上打开“设置”应用,如图所示 2/4 在设置列表中找到 iCloud 一栏,点击进入,如图所示 3/4 随后需要用自己的 Apple ID 来登录 iCloud 服务,如果你还没有自己的 Apple ID 账号,...
  • 如下图所示,用定位工具定位输入框,无id,有class值,但不唯一,与标题栏的class值重复,这里要用xpath定位: 首先,找到定位框的上一节点id定位框的xpath="//*[@resource-id=‘id值’]/定位框class值 ...
  • <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head>...input type="hidden" name="" id="weidu" > &...
  • GSM手机轻松实现定位 (由AT命令得到基站地址码及ID,查询基站地址数据库,抛开GPS啦)我发现AT+GNC在好多AT手册里找不到,难道是BenQ或什么特别modem独有的?我琢磨出一个方案 (用AT+CREG命令):at+creg=2OKat+creg?+CREG:...
  • Google Maps基站定位 如果你在你的手机装过Google Mobile Maps,你就可以发现只要你的手机能连接GPRS,即使没有GPS功能,也能定位到你手机所在的位置, 只是精度不够准确。在探讨这个原理之前,我们需要了解一些移动...
  • 手機 Cell ID定位

    千次阅读 2010-03-04 10:12:00
    非主流的手机定位:)原文link: http://heresy.spaces.live.com/blog/cns!E0070FB8ECF9015F!7853.entry?wa=wsignin1.0&sa=757360296 一般提到定位,大家應該都是想到 GPS(GlobalPositioning System,全球定位系統...
  • //保存手机定位信息轮询setInterval的id var isFirstQuery = null;//定义一个变量保存是否是第一次查询 var ulm_Layer = null;//手机定位信息图层变量 var ulm_queryResult = null;//保存手机定位信息查询结果的...
  • 第四步:根据自己的手机型号以及被测APP 配置好数据 点击右下角保存 save as,保存的数据就会出现在Saved Capability Sets里面 第五步、选中 保存的内容,点击start session 之后会出现以下界面,就可以定位元素了...
  • Google Mobile Maps手机定位原理之探讨

    千次阅读 2009-07-22 23:30:00
    如果你在你的手机装过Google Mobile Maps,你可以发现只要你的手机能连GPRS,即使没有GPS功能,也能定位到你手机所在位置,只是精度不是很精确。在探讨这个原理之前,先让我们了解一下一些移动知识,了解什么是MNC/...
  • 在app中,和web不同的是,id也是可以随便重复的。 但是id相对于其他定位方式来说,仍然具有快速,大多数时候都是唯一的 特性。...所以自己要封装好一个方法,就是一旦id定位失败,就会自动启动class来定位。
  • 基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息查找基站的经纬度值,想要具体地址信息的再根据经纬度值获取具体的地址信息。 一、通过手机信号获取基站信息  通过TelephonyManager ...
  • 一:因为定位app很多东西都找不到,id,name,class等,所以就利用坐标方式来进行定位,非常好用,并且兼容不同手机,下面是简单的代码参考。    def getSize(driver): #获取当前手机屏幕大小:x和y表示  x = ...
  • 一,首先普及一下手机基站信息中相关的专业词汇:  通过TelephonyManager 获取lac:mcc:mnc:cell-id(基站信息)的解释:  MCC,Mobile Country Code,移动国家代码(中国的为460);  MNC,Mobile Network ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 427
精华内容 170
关键字:

手机id定位