android - 关闭gps时粉碎
问题描述
当用户关闭 gps 时,我收到了迷恋。我有这样的代码来检测位置的用户
if(locationManager == null) {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
}
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000L,
15f, mLocationListener);
} else if(locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000L,
15f, mLocationListener);
} else {
Toast.makeText(this, "Please turn on gps on ypur phone", Toast.LENGTH_SHORT).show();
}
当用户使用 gps 打开应用程序,然后将其关闭时,我收到这样的迷恋
java.lang.AbstractMethodError: abstract method "void android.location.LocationListener.onProviderDisabled(java.lang.String)"
我试图检测用户何时关闭 gps,但我更早迷恋,然后接收器检测
解决方案
找到 mLocationListerner 的声明。当然它会覆盖onLocationChanged()
。但是您可能忘记了 override onProviderDisabled()
。即使它是空的,也要这样做。也覆盖onStatusChanged()
和onProviderEnabled()
。
运气。
LocationListener mLocationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
....
}
@Override
public void onProviderDisabled(String provider) { }
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
@Override
public void onProviderEnabled(String provider) { }
};
推荐阅读
- html - 在可滚动的 tbody 中对齐单元格文本
- reactjs - React 无法在 IE11 和更旧的 Android 浏览器上运行
- android - setContentView 上的 NullPointerException
- html - 使用 flex 布局时 Chrome 滚动条损坏
- python - ModuleNotFoundError:没有名为“版本”的模块
- javascript - 如何在 nativescript javascript 中从远程 php 检索多个数据?
- node.js - 无法运行节点 server.js
- typeerror - solve_ivp 错误:“所需的步长小于数字之间的间距。”
- android - 对于在线安卓游戏,有哪些服务可以保证APK文件的完整性,防止作弊?
- compiler-errors - LEX - /usr/bin/i686-linux-gnu-ld: 找不到 -ll