精华内容
下载资源
问答
  • 修改手机gps位置软件
    2021-06-05 18:50:33

    “PhotoMapper:照片地理位置修改,GPS EXIF编辑器”是一款面向大众的iOS图片库管理软件,您可以将所有的照片按照他们的拍摄地点进行分类。所有使用iOS图片库存储照片的用户都有在存储单反拍出的照片时面对地理信息丢失这一问题,而现在,您可以轻松使用我们的app将单反拍的照片加上地域信息。

    您也可以使用PhotoMapper进行个人隐私保护。当您使用社交媒体或者邮件与他人共享您的照片时,照片里的位置信息也会被一同分享。如果您担心您的个人信息外泄,您可以使用我们的软件将照片中的位置抹除。

    如果您对PhotoMapper满意的话,请给我们一个五星的评价吧,我们在这儿提前谢谢您了!

    使用条款: https://gist.github.com/bigMOTOR/27f60cb35180a150d38dc11df5462276

    隐私政策: https://gist.github.com/bigMOTOR/e373f36ef179c17679d5083e5fb39e80

    ** 软件特色 **

    - 您照片中的位置信息永不会丢失并且该定位永远是正确的。-

    - 只需在地图上轻轻一点,您就可以轻松添加或修改您iOS图片库中照片的位置信息。再也不会因为任何原因担心丢失图片的位置信息。-

    - 在分享照片前做好保护个人信息的准备。在不改变原始图片的情况下为您创建一个无任何地理位置信息的新照片进行上传,保护您的隐私。-

    - 群组修改:您可以同时对多张照片进行地理信息修改。-

    - 寻找全部缺少地点信息的照片。-

    - 从一张照片上复制照片信息到其他照片上。-

    如何进行地理位置修改

    这个操作将会为iOS图片库里的照片添加一个地理位置信息。

    1. 在第一个页面中点击“编辑位置”按钮;

    2. 在第二个屏幕里选择一或多个照片(视频);

    3. 在地图上选择您理想的位置;

    4. 确认该操作。

    如何抹除地理位置信息

    这个操作会在保留原始图片的情况下为您创建一张一模一样但没有任何地理信息的新照片。照片中的EXIF信息将会被删除,照片上传后将不会在任何设备上展示位置信息。

    1. 选择第一个页面中的“删除位置”选项;

    2. 在第二个页面中选择一张或多张照片;

    3. 确认该操作。

    更多相关内容
  • 又是一款装逼插件GPSCheat,自定义更改你的GPS位置,让你在家里就可以随心所欲“跑遍”世界各地,让朋友圈的童鞋们大跌眼镜。21世纪,虽然身体是唯一的革命本钱,但是一天到晚在朋友圈晒运动轨迹也实在是太烦人了!!!...

    又是一款装逼插件GPSCheat,自定义更改你的GPS位置,让你在家里就可以随心所欲“跑遍”世界各地,让朋友圈的童鞋们大跌眼镜。

    21世纪,虽然身体是唯一的革命本钱,但是一天到晚在朋友圈晒运动轨迹也实在是太烦人了!!!我决定完爆他们!有请【GPSCheat】闪亮登场!

    一、插件概览

    这是一款为所有获取GPS坐标的应用自定义任意位置为当前坐标的插件。主要功能包括:

    可为全局所有软件设置自定义位置(可设定多个位置,并设定位置切换间隔);

    可为全局所有软件设置指定坐标(同上,可多个)周边随机范围(随机的范围可从10米至600米自选)位置;

    或者为每个应用(App)分别设定位置(同上,可多个)。

    每一时刻只能使用一个“位置源”,当使用应用位置源时,没有设定位置的App将使用真实位置。

    808252c3e158cc0f00374cf6dba10bcc.png

    二、免费安装GPSCheat

    1. 首先你的设备必须是已越狱的 (查看越狱教程),先开启 Cydia,点击下方【管理】—【软件源】—右上角【编辑】—左上角【添加】—添加新源地址http://repo.hackyouriphone.org/—【添加源】

    2.新源地址添加完后,在Cydia底部选【搜索】,然后在搜索框中输入GPSCheat。

    提示:如果搜索不到GPSCheat,可以进入Cydia—【变更】—点击左上角【刷新】—再搜索该插件。

    3. 进入后按右上角的【安装】,然后点击【确认】,便会自动开始安装。

    提醒注意:该插件是双刃剑,务必用于合法用途。

    三、实战应用

    进入全局位置自定义菜单,找个适合跑步的地方。加拿大的麦克唐纳.卡蒂尔国际机场不错!围着这个机场,每在一个位置长按一次,即确定一个坐标。标记的时候会显示编号,标好后,点击标记也会显示编号。我依次标上18个坐标,保存以后,我们先进手机自带“地图”看一下。注意查看各图上的时间和位置情况。位置是随着时间变换变换的。

    543dd517d1fab2ba9e2701a0f2a8f0ae.png

    看来有戏。下载跑步软件RunKeeper,打开,点击开始跑步。把手机放桌上,让它自己“跑”去吧。我们去喝杯茶。十几分钟后,打开手机一看!

    6741e42ea6bfee21cb17110eee087933.png

    哈哈,地图画好了!朋友圈,我来啦!好牛B!绕着机场跑了一圈!

    (注意Nike+Running等会检测“抖动”情况的软件如果把手机放在桌上可不行,为了制作下图,我的手抖了5分钟~~~)

    a84d505dd217ea0bf6237e428f83f941.png

    至于“随机”指的是在设定的位置周边范围内的随机,不是指对多个位置进行随机。比如设定了1、2、3 三个位置,变换时间间隔设为1分钟,随机范围设为600米。第1分钟是在1号位置周边600米内随机确定一个位置,第2分钟就是在2号位置周边600米内随机确定一个位置。如果用“随机”“跑步”出来的地图就是下面这样的了。

    df4e519de82650a17eee863d561ab7e1.png

    最后,关于分应用设定,用一张图来说明吧。

    78379d6e2d87810abf067beb30618c68.png

    这三条微博分别来自不同的客户端,签到的位置是各不相同的!哈哈,是不是非常高端!这个功能太牛了!可以用N个软件分别“跑步”!比超人还超人!

    展开全文
  • python实现GPS定位.py

    2021-03-24 12:40:19
    此程序为在jetson nano中实现GPS定位
  • 8种机械键盘轴体对比...模拟器中模拟位置方法模拟器与真机中的模拟手段有所差异,在模拟器中,可以通过Android的调试工具,或是命令行来修改GPS坐标点。首先通过adb命令的修改方法:1adb geo fix 116.813752 39.8...

    66b52468c121889b900d4956032f1009.png

    8种机械键盘轴体对比

    本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

    Android系统中提供了模拟GPS坐标的功能,可以很方便的帮助我们测试不同地理位置下应用中各个功能效果。

    模拟器中模拟位置方法

    模拟器与真机中的模拟手段有所差异,在模拟器中,可以通过Android的调试工具,或是命令行来修改GPS坐标点。

    首先通过adb命令的修改方法:1adb geo fix 116.813752 39.820015

    注意如果链接了多个设备,adb命令需要添加-s参数指定模拟器设备。

    同样原理,可以使用Android SDK中的DDMS工具来修改GPS坐标;打开DDMS,可以看到Emulator面板中的GPS设置选项,

    当打开模拟器运行时,这里就会变成可操作状态。

    2f7ecb044a6bf7283b826c13d96f3980.png

    对于第三方模拟器,Genymotion也提供了这样的功能。不仅可以通过GenyMotion虚拟机的控制面板调节GPS参数(截图略),还可以通过Genymotion提供的Java API修改坐标点:1

    2

    3

    4

    5

    6Context mContext = getActivity();

    GenymotionManager genymotion = GenymotionManager.getGenymotionManager(mContext);

    genymotion.getGps()

    .setLatitude(39.820015)

    .setLongitude(116.813752);

    真机中模拟位置方法

    真机中模拟GPS位置的方法稍复杂一点。

    首先,需要到系统设置中“开发者选项”处,将其中的“允许模拟位置”打开。

    然后我们需要编写一个简单的APP,来通过系统API修改GPS坐标值。

    这涉及了一个权限:1

    在Eclipse环境下,直接修改AndroidManifest即可;

    在Android Studio环境下,需要建立src/debug这个文件夹,然后在里面创建一个debug版本的AndroidManifest.xml文件,才能添加这个权限。

    然后来编写代码:

    在LocationManager中,提供了一个接口1

    2

    3

    4

    5

    6

    7public void (String name,

    boolean requiresNetwork,

    boolean requiresSatellite,

    boolean hasMonetaryCost,

    boolean supportsAltitude,

    boolean supportsBearing,

    int accuracy)

    参数比较多,但接口的用途还是很清晰的——添加一个用于模拟位置的Provider。然后我们可以向这个Provider中设定模拟的位置:1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32private LocationManager mLocManager;

    mLocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    mLocManager.addTestProvider(LocationManager.GPS_PROVIDER,

    "requiresNetwork" == "",

    "requiresSatellite" == "",

    "requiresCell" == "",

    "hasMonetaryCost" == "",

    "supportsAltitude" == "",

    "supportsSpeed" == "",

    "supportsBearing" == "",

    Criteria.NO_REQUIREMENT,

    Criteria.ACCURACY_COARSE);

    Location newLocation = new Location(LocationManager.GPS_PROVIDER);

    newLocation.setLatitude(39.820015);

    newLocation.setLongitude(116.813752);

    newLocation.setAccuracy(500);

    newLocation.setTime(System.currentTimeMillis());

    newLocation.setElapsedRealtimeNanos(System.currentTimeMillis());

    // 开启测试Provider

    mLocManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true);

    mLocManager.setTestProviderStatus(LocationManager.GPS_PROVIDER,

    LocationProvider.AVAILABLE,

    null,

    System.currentTimeMillis());

    // 设置最新位置

    mLocManager.setTestProviderLocation(LocationManager.GPS_PROVIDER, newLocation);

    不过这种方式设置坐标后,并没有触发GPS的onLocationChanged回调函数,目前还不清楚后面的原理。但可以使用getLastKnownLocation接口获取:1

    2Location tmp = mLocManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

    Log.i(TAG, tmp.getLatitude() + ", " + tmp.getLongitude());

    真机模拟位置原理

    在真机模拟位置点的过程中,我们调用了很多TestProvider有关的API。

    首先来看一下addTestProvider函数,其最终调用到的逻辑位于com.android.server.LocationManagerService中1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30public void (String name, ProviderProperties properties, String opPackageName){

    if (!canCallerAccessMockLocation(opPackageName)) {

    return;

    }

    // 由此可以看到无法传入PASSIVE_PROVIDER作为测试使用

    if (LocationManager.PASSIVE_PROVIDER.equals(name)) {

    throw new IllegalArgumentException("Cannot mock the passive location provider");

    }

    long identity = Binder.clearCallingIdentity();

    synchronized (mLock) {

    // remove the real provider if we are replacing GPS or network provider

    // 在这里比较传入的Provider名称,如果和GPS_PROVIDER相同,就将真正的GPS_PROVIDER移除掉

    if (LocationManager.GPS_PROVIDER.equals(name)

    || LocationManager.NETWORK_PROVIDER.equals(name)

    || LocationManager.FUSED_PROVIDER.equals(name)) {

    LocationProviderInterface p = mProvidersByName.get(name);

    if (p != null) {

    removeProviderLocked(p);

    }

    }

    // 会向mMockProviders中添加这一测试用的provider,以便后续使用

    addTestProviderLocked(name, properties);

    updateProvidersLocked();

    }

    Binder.restoreCallingIdentity(identity);

    }

    因此在我们传入GPS_PROVIDER后,后续请求GPS更新,就会使用我们给定的位置了。

    再来看向测试用的PROVIDER设定位置点坐标,其真正逻辑同样位于com.android.server.LocationManagerService中:1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19public void setTestProviderLocation(String provider, Location loc, String opPackageName){

    if (!canCallerAccessMockLocation(opPackageName)) {

    return;

    }

    synchronized (mLock) {

    MockProvider mockProvider = mMockProviders.get(provider);

    if (mockProvider == null) {

    throw new IllegalArgumentException("Provider "" + provider + "" unknown");

    }

    // clear calling identity so INSTALL_LOCATION_PROVIDER permission is not required

    long identity = Binder.clearCallingIdentity();

    // 向mockProvider传入位置点

    mockProvider.setLocation(loc);

    Binder.restoreCallingIdentity(identity);

    }

    }

    其中mockProvider是从mMockProviders中得到的,在addTestProvider时,addTestProviderLocked函数会向其添加我们设定的provider。

    继续追踪到setLocation函数,位于com.android.server.location.MockProvider中:1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12public void setLocation(Location l){

    mLocation.set(l);

    mHasLocation = true;

    if (mEnabled) {

    try {

    // 调用LocationManagerService中的函数,而非应用层可获取到的LocationManager

    mLocationManager.reportLocation(mLocation, false);

    } catch (RemoteException e) {

    Log.e(TAG, "RemoteException calling reportLocation");

    }

    }

    }

    还是要回到LocationManagerService中:1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16public void reportLocation(Location location, boolean passive){

    checkCallerIsProvider();

    if (!location.isComplete()) {

    Log.w(TAG, "Dropping incomplete location: " + location);

    return;

    }

    mLocationHandler.removeMessages(MSG_LOCATION_CHANGED, location);

    // 向Handler发送MSG_LOCATION_CHANGED消息

    Message m = Message.obtain(mLocationHandler, MSG_LOCATION_CHANGED, location);

    m.arg1 = (passive ? 1 : 0);

    mLocationHandler.sendMessageAtFrontOfQueue(m);

    }

    最终是在这里发送了MSG_LOCATION_CHANGED消息,但为何没有触发onLocationChanged?还需要研究一下……

    展开全文
  • 改机 - 从源码着手任意修改GPS地理位置需求:随意修改定位android在改机过程中,经常会遇到随意修改位置GPS的需求。修改GPS的方式有很多种:xposed hookMockLocation修改源码以上三种方式都能修改gps随意修改gps坐标...

    改机 - 从源码着手任意修改GPS地理位置

    需求:随意修改定位

    android在改机过程中,经常会遇到随意修改位置GPS的需求。

    修改GPS的方式有很多种:

    xposed hook

    MockLocation

    修改源码

    以上三种方式都能修改gps随意修改gps坐标,各有优缺点:xposed隐藏不好,容易被发现;MockLocation容易在开发者模式和gps provider被识别;改源码,编译麻烦,而且不一定有源码;前两种方式具有普适性,改源码费时费力,局限性比较强;

    秉承明知山有虎,偏向虎上行的心态,尝试阅读以下android的源码,并且修改gps部分的代码;

    具体原理:切断hal层和framework之间的通讯,模仿硬件向framework通知硬件信息

    样例:android 8.0

    1. gps jni callback

    struct GnssCallback : public IGnssCallback {

    Return gnssLocationCb(

    const android::hardware::gnss::V1_0::GnssLocation& location) override; // gps位置变化回调函数

    Return gnssStatusCb(const IGnssCallback::GnssStatusValue status) override; // gps状态变化回调函数

    Return gnssSvStatusCb(const IGnssCallback::GnssSvStatus& svStatus) override; // 卫星状态变化回调函数

    Return gnssNmeaCb(int64_t timestamp, const android::hardware::hidl_string& nmea) override;

    Return gnssSetCapabilitesCb(uint32_t capabilities) override;

    Return gnssAcquireWakelockCb() override;

    Return gnssReleaseWakelockCb() override;

    Return gnssRequestTimeCb() override;

    Return gnssSetSystemInfoCb(const IGnssCallback::GnssSystemInfo& info) override;

    static GnssSvInfo sGnssSvList[static_cast(

    android::hardware::gnss::V1_0::GnssMax::SVS_COUNT)];

    static size_t sGnssSvListSize;

    static const char* sNmeaString;

    static size_t sNmeaStringLength;

    };

    // 省略......

    Return GnssCallback::gnssLocationCbImpl(const T& location) {

    JNIEnv* env = getJniEnv();

    jobject jLocation = translateGnssLocation(env, location);

    env->CallVoidMethod(mCallbacksObj,

    method_reportLocation, // frameworks

    boolToJbool(hasLatLong(location)),

    jLocation);

    checkAndClearExceptionFromCallback(env, __FUNCTION__);

    env->DeleteLocalRef(jLocation);

    return Void();

    }

    // 省略......

    method_reportLocation = env->GetMethodID(clazz, "reportLocation",

    "(ZLandroid/location/Location;)V");

    GnssCallback的作用就是在gps模块位置、状态、精度等信息变化后,通知上层应用的回调函数类。

    2. framework

    可以发现,在gps硬件模块拿到新的位置时,通知framework调用java的函数是reportLocation, 源码如下:

    /*

    * @hasLatLong: 地理位置是否合法

    * @loction: 地理位置

    */

    private void reportLocation(boolean hasLatLong, Location location) {

    if (location.hasSpeed()) {

    mItarSpeedLimitExceeded = location.getSpeed() > ITAR_SPEED_LIMIT_METERS_PER_SECOND;

    }

    if (mItarSpeedLimitExceeded) {

    Log.i(TAG, "Hal reported a speed in excess of ITAR limit." +

    " GPS/GNSS Navigation output blocked.");

    mGnssMetrics.logReceivedLocationStatus(false);

    return;

    }

    if (VERBOSE) Log.v(TAG, "reportLocation " + location.toString());

    synchronized (mLocation) {

    mLocation = location;

    // It would be nice to push the elapsed real-time timestamp

    // further down the stack, but this is still useful

    mLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());

    mLocation.setExtras(mLocationExtras);

    try {

    mILocationManager.reportLocation(mLocation, false);

    } catch (RemoteException e) {

    Log.e(TAG, "RemoteException calling reportLocation");

    }

    }

    mGnssMetrics.logReceivedLocationStatus(hasLatLong);

    if (hasLatLong) {

    if (location.hasAccuracy()) {

    mGnssMetrics.logPositionAccuracyMeters(location.getAccuracy());

    }

    if (mTimeToFirstFix > 0) {

    int timeBetweenFixes = (int) (SystemClock.elapsedRealtime() - mLastFixTime);

    mGnssMetrics.logMissedReports(mFixInterval, timeBetweenFixes);

    }

    }

    mLastFixTime = SystemClock.elapsedRealtime();

    // report time to first fix

    if (mTimeToFirstFix == 0 && hasLatLong) {

    mTimeToFirstFix = (int)(mLastFixTime - mFixRequestTime);

    if (DEBUG) Log.d(TAG, "TTFF: " + mTimeToFirstFix);

    mGnssMetrics.logTimeToFirstFixMilliSecs(mTimeToFirstFix);

    // notify status listeners

    mListenerHelper.onFirstFix(mTimeToFirstFix);

    }

    if (mSingleShot) {

    stopNavigating();

    }

    if (mStarted && mStatus != LocationProvider.AVAILABLE) {

    // we want to time out if we do not receive a fix

    // within the time out and we are requesting infrequent fixes

    if (!hasCapability(GPS_CAPABILITY_SCHEDULING) && mFixInterval < NO_FIX_TIMEOUT) {

    mAlarmManager.cancel(mTimeoutIntent);

    }

    // send an intent to notify that the GPS is receiving fixes.

    Intent intent = new Intent(LocationManager.GPS_FIX_CHANGE_ACTION);

    intent.putExtra(LocationManager.EXTRA_GPS_ENABLED, true);

    mContext.sendBroadcastAsUser(intent, UserHandle.ALL);

    updateStatus(LocationProvider.AVAILABLE, mSvCount, mMeanCn0, mMaxCn0);

    }

    if (!hasCapability(GPS_CAPABILITY_SCHEDULING) && mStarted &&

    mFixInterval > GPS_POLLING_THRESHOLD_INTERVAL) {

    if (DEBUG) Log.d(TAG, "got fix, hibernating");

    hibernate();

    }

    }

    自此,刨除hal层,android系统就获取到了一个地理位置。原理了解后,就可以动手修改源码了。

    3. 切断hal层调用

    GnssLocationProvider.cpp

    #include

    // ....... 省略

    Return GnssCallback::gnssLocationCbImpl(const T& location) {

    // 定义一个系统开关,可以自由控制

    char property[PROP_VALUE_MAX];

    int len = __system_property_get("gps.location.custom", property);

    if(len > 0) {

    if(strcmp(property, "1") == 0) return Void();

    }

    // ...... 省略

    }

    4. 在framework中添加一个public函数

    LocationManager.java

    // ...... 省略

    public void reportCustomLocation(Location location) {

    mService.reportLocation(true, location);

    }

    5. 编译rom

    make update-api # 在LocationManager中添加了新的接口

    make -j32 # 炫耀一下我32核的的机器

    5. 在APK中使用

    MainActivity.java

    // ...... 省略

    Button btn = findViewById(R.id.test_btn);

    btn.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

    try {

    Location l = new Location("gps");

    l.setLatitude(41.055962);

    l.setLongitude(110.307711);

    l.setAccuracy(2.0f);

    l.setTime(System.currentTimeMillis());

    l.setElapsedRealtimeNanos(System.currentTimeMillis());

    l.setAccuracy(1.0f);

    locationManager.reportCustomLocation(l);

    Location lo = locationManager.getLastKnownLocation(provider);

    Log.d(TAG, lo.toString());

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    });

    }

    展开全文
  • GPS照片定位显示软件

    2020-05-12 11:29:32
    一个相册地图程序,可以利用照片拍摄时记录的经纬度信息,在地图上显示照片位置,还可以对照片定位信息进行修改。对于不带定位信息的jpg图片,也可以注入定位信息。所有功能仅需图片文件本身,无需任何辅助信息或...
  • 因为路线不熟悉,所以经常在导航时遇到定位慢,或者搜星慢的尴尬事情发生,另外在网上看了很多关于求助想提升GPS搜星和定位的帖子,所以最近整理了一下教程,下面详细说下GPS配置文件详细修改方法,如果你不会改,...
  • GPS工具箱苹果版

    千次阅读 2021-07-23 14:36:52
    GPS工具箱为用户准备的以手机GPS为基础的多功能位置服务的软件,它包括了很多非常实用的工具,包含线路追踪、测速、位置记录、面积测量等等,是GPS模块的功能发挥的非常充分到位,并且软件支持离线map和KML、KMZ导入...
  • 手机gps信号差定位慢的解决方法手机GPS定位慢的主要原因是AGPS定位所指向的服务器不稳定造成的',所以最好的办法是更改服务器。具体步骤如下:一、首先需要有root权限,手机没ROOT的请网上搜教程方法。同时手机要...
  • GPS工具箱

    千次阅读 2021-07-23 14:37:04
    应用介绍GPS工具箱一款以手机GPS为基础的多功能位置服务软件集,包含多个实用工具,充分发挥您手机的GPS模块功能,且支持离线地图和KML、KMZ导入导出、GPX文件导出。包含线路追踪、测速、位置记录、面积测量等多种...
  • 更改完后,点击手机菜单键,保存并退出,重启手机,打开GPS,启动导航软件,10秒内定位!!! 真正有技术含量的内容 解释: NTP_SERVER=0.cn.pool.ntp.org(为中国0号授时子服务器,实时变动) NTP_SERVER=3....
  • 那么小米手机gps定位慢怎么解决?其实小米4的搜星慢是软件优化的问题,可以通过打补丁的方式来解决。下面就为大家带来小米4解决GPS搜星慢的方法,一起来看看!用此修改好参数的GPS定位文件替换原机自带的,可以改善...
  • 这一期我们来做一个简单的实验,实验的前提是要对当作开发板的手机有从源码编译的能力,如果还没有实现,请参考前几期内容。上一期我们分析了GPS定位数据是如何在Android中逐层上报的,如果不实践一下还是觉得不太...
  • 一旦用户选择“仅在使用此应用时允许”,就会导致APP在后台或者锁屏时候无法正常记录GPS轨迹,这个对像滴滴出行、共享单车、跑步软件影响非常的大。 针对这个变化,Google也给出了新的 解决方案。 第一步:升级SDK ...
  • GPS定位_Autojs

    2022-04-09 08:22:47
    /* GPS位置信息:手机GPS开关 位置权限:软件是否具有使用GPS的权限 */ importClass(android.Manifest); importClass(android.content.pm.PackageManager); importClass(Packages.androidx.core.app.ActivityCompat)...
  • 我正在尝试在android模拟器上使用gps,我有以下代码:public class NL extends Activity {private LocationManager locmgr = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate...
  • 真对安卓4.0系统的手机GPS搜星慢,定位不准的问题,xda大神做了一个修改包,主要是摒弃搜索一些老旧卫星,而使用新的卫星,此包是真对三星9100,本人MOTO XT910可以刷,别的机型不知道,请谨慎应用此包,对于出现的...
  • HTML5缓存和GPS定位

    2021-06-13 08:17:13
    GPS定位 在html5中有一个Geolocation API,这个API用于通过GPS获得用户的地理位置,也就是俗称的GPS定位。鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 需要通过getCurrentPosition...
  • xposed 修改手机定位

    千次阅读 2019-12-16 18:58:51
    修改手机定位,输入经纬度模拟手机任意位置 思路:手机系统其实有个文件保存实时经纬度,hook修改从此经纬度就好了 别的app获取到的也是你修改后的经纬度 package camera.app.com.backward.hook.phoneinfo; ...
  • 如何修改软件识别android手机型号

    千次阅读 2014-12-29 15:54:37
    原来android手机System/build.prop文件可以实现修改手机型号的功能。build.prop文件是重要的系统文件。可以修改这个配置文件优化手机,前提是知道每个参数代表的含意,切勿随便修改以免影响手机正常使用。  修改...
  • GPS位置模拟-安卓

    千次阅读 2019-09-22 01:07:42
     a)手机上安装第三方模拟软件:需要Root;  b)PC模拟其中运行app并模拟位置:不能在真机上运行,手机兼容性不能测试到;  b)在app中让开发增加定位修改功能:此方案最简单但需要开发配合,入侵度较高; 一...
  • 它将是使用免费软件(Kicad)设计的和,以允许其他用户学习,更改和改进软件和硬件。 该设计将允许为摄像头,GPS,4G和GSM添加硬件终止开关。 这为想要完全控制其设备的用户提供了安全和隐私。 路线图 根据需要使...
  • 基本简介GPS工具箱一款以手机GPS为基础的多功能位置服务软件集,包含多个实用工具,充分发挥您手机的GPS模块功能,且支持离线地图和KML、KMZ导入导出、GPX文件导出。包含线路追踪、测速、位置记录、面积测量等多种...
  • 易达个人定位软件

    2015-02-04 16:16:01
    5、恐慌——家人长期出门在外,雨雪中开车,手机无人接听,不能紧急救援。 6、管理——小店员工经常迟到,不在店铺,如何能查到员工上班时间的打卡时间、地图位置。 家庭防盗使用软件,请不要他用。 使用说明: 5...
  • 本项目的出发点就是针对如何解决位置的实时共享问题,使得人们组队外出游玩时的安全性得到保障,还有让每个家庭成员之间可以随时随地地查看其他成员的位置,特别是让老人、小孩的安全得到家人的实时监护。...
  • 智能通讯用软件,适用于物联网各个领域(如智能家居,智慧农业,环境监测等领域),支持温湿度,PM2.5,GPS等二十多种传感器的数据传输到手机端,实现了物与人,物与物之间的通讯(即点对点通讯)。具有手机端远程...
  • 生活中,在你使用各种手机软件的时候,不知道你有没有注意到,在软件第一次安装打开的时候,有大多数软件会弹出一个权限请求的弹框,显示出应用要请求获取什么权限以及使用这些权限的一些情况说明。我相信大多数人...
  • 1.gps代码根据sdk中修改的,只是卫星定位的,根据基站定位的代码不知如何实现,只有当使用手机的人走到卫星信号好的地方时才能把坐标发 出去 2.发送的gps坐标 ,只是一个大体的位置,几百米以内的范围,有些浮动 3....
  • GPS、基站、IP定位的区别及其应用方向
  • android 免 root修改位置打卡

    万次阅读 2019-09-21 13:12:32
    Virtual Xponse(一个 类似于 android 虚拟机...修改gps定位的软件。 你需要打卡的软件修改 gps软件, 与需要打卡的软件都安装在 vitual Xponse 就ok。 链接:https://pan.baidu.com/s/14uwV3ZLdkuphXqAlw41qBg...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,513
精华内容 3,805
热门标签
关键字:

修改手机gps位置软件