Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过SMS侦听器实现GPS经纬度_Java_Android - Fatal编程技术网

Java 通过SMS侦听器实现GPS经纬度

Java 通过SMS侦听器实现GPS经纬度,java,android,Java,Android,我开发了一个应用程序,当Emulator A向Emulator B发送短信时(应用程序打开),B通过短信将位置坐标发送回A。问题是,当我启动Emulator时,onlocationchanged被触发,因此坐标成功返回。如果我在同一个模拟器上重新运行应用程序,则不会触发locationchanged,因此纬度和长度值保持为空。如何确保每次启动应用程序时都调用onlocationchanged?谢谢这是我设置定位请求的方式,直到我获得GPS锁定(精度可接受的GPS信号)。无论用户是否移动,我每秒都

我开发了一个应用程序,当Emulator A向Emulator B发送短信时(应用程序打开),B通过短信将位置坐标发送回A。问题是,当我启动Emulator时,onlocationchanged被触发,因此坐标成功返回。如果我在同一个模拟器上重新运行应用程序,则不会触发locationchanged,因此纬度和长度值保持为空。如何确保每次启动应用程序时都调用onlocationchanged?谢谢

这是我设置定位请求的方式,直到我获得GPS锁定(精度可接受的GPS信号)。无论用户是否移动,我每秒都会收到坐标。一旦我得到一个锁,我将请求速度降低到每10秒一次,并将最小位移更改为10米。注意,将smallestDisplacement设置为0允许onLocationChanged方法在不移动的情况下触发

    mLocationRequest = new LocationRequest();
    mLocationRequest.setInterval(1000);             //1 second
    mLocationRequest.setFastestInterval(1000);      //1 second
    mLocationRequest.setSmallestDisplacement(0);    //always accept gps
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

如果位置不变,为什么要运行该方法?您可以将位置存储在SharedReferences中