在我的应用程序中,有一个按钮。如果您点击该按钮,我们将获得当前位置。基于此当前位置,我正在做一些操作。在设备中它正常工作。但是在模拟器中我们没有获得当前位置,这就是为什么我使用模拟器的一些默认纬度和经度值。但我想区分模拟器和设备。这意味着我们在设备中运行意味着它需要地理编码位置。假设我们在模拟器中运行意味着它采用默认的纬度和经度值。如何以编程方式实现它。任何人都可以帮助我。
感谢
答案 0 :(得分:2)
请参阅http://commonsware.com/blog/Android/2010/05/27/identifying-emulator-android-2.2.html。
说谢谢你,@ CommonsWare 。
答案 1 :(得分:0)
我的数字罗盘问题完全相同。我通过编写和使用以下方法解决了这个问题:
public static boolean areOrientationSensorsAvailable(Context ctx) {
final SensorManager manager = (SensorManager) ctx.getSystemService(Context.SENSOR_SERVICE);
final List<Sensor> sensorsMagnet = manager.getSensorList(Sensor.TYPE_MAGNETIC_FIELD);
final List<Sensor> sensorsAccel = manager.getSensorList(Sensor.TYPE_ACCELEROMETER);
return (sensorsMagnet.size() != 0) && (sensorsAccel.size() != 0);
}
这对你也有用:如果没有传感器,你就在模拟器上。 这不是“干净的”(不适用于我所说的已发布的应用程序),但这适用于测试。