准备工作:我们需要在我们手机上设置允许模拟:
设置
---》应用程序--》开发---》模拟测试地点开启
(就在开发者选项里面允许debug的下面)
然后声明权限:
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
1 如何fake gps ?
gps的fake 有个很奇怪的现象 你需要把fake gps的代码放到一个service当中 不知道是否是系统对发出fake信息的源进行了限定 目前实验结果是需要放在service
代码大致如下
- package com.yiqiding.ktvbox.view.service;
- import java.lang.reflect.Method;
- import android.app.Service;
- import android.content.Intent;
- import android.location.Location;
- import android.location.LocationManager;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.IBinder;
- import android.util.Log;
- import com.yiqiding.ktvbox.util.LogUtil;
- public class GpsFakeService extends Service {
- private static final String LOG_TAG = "GpsFakeService";
- private float accuracy;
- private double altitude;
- private float bearing;
- private Bundle bl;
- private boolean forFlag = true;