我在LocationManager.requestLocationUpdates上请求定位时遇到问题
它在我的AVD API 16上返回false,并且只在API 16上返回false,并且启用了yes定位。
从onCreat()调用此函数:
void startLocation(){
// first check for permissions
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.INTERNET}
,10);
}
}
if(manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, listener);
}else if(manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000, 1, listener);
}else {
Toast.makeText(getApplicationContext(),"Please turn ON gps",Toast.LENGTH_LONG);
finish();
}
}
发布于 2017-01-18 13:17:04
问题是AVD,谷歌地图也不能访问GPS。
https://stackoverflow.com/questions/41709489
复制