我正在开发一个简单的应用程序来监控 GPS 速度。今天早上我安装了几个 GPS 定位器来测试我的应用程序,但似乎没有一个运行良好。卸载所有这些并且(我不知道这是否相关)现在当我使用 ADB 在 N4 上调试我的应用程序时,当我调用 .requestLocationUpdates 时 GPS 不会打开。gps 图标未显示在通知栏中,也未检索到任何数据,永远不会调用 onLicationChanged 并且启用的函数 .isProvider 返回 false..
我将我的应用程序完全重构为最简单的形式。我直接在 onCreate 覆盖上调用从 android.developper 文档复制的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_speed_monitoring);
// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this .getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
location.getLatitude();
Toast.makeText(getApplicationContext(), "Current speed:" + location.getSpeed(), Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) { }
public void onProviderEnabled(String provider) { }
public void onProviderDisabled(String provider) { }
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1000, locationListener);
}
现在我想知道这是否与我的代码或我的 android 设备有关,或两者兼而有之。测试了谷歌地图,它触发了 GPS 图标并毫无问题地找到我的位置,我现在正在 android 模拟器上测试它,会不断更新。
哦,还有,我正在取消安卓工作室。
谢谢你。
编辑: GPS 图标在模拟器上被触发,可能是我手机中的设置,但什么会导致这种情况?为什么其他 GPS 应用程序可以工作?
编辑 2:我的应用程序在模拟器上运行良好,通过 telnet geo fix 更新位置,一切都像魅力一样工作。