Android 检查perrmision(gps)是否需要停止功能
我需要在我的Android应用程序中设置gps。但是Function requestLocationUpdates需要通过以下方式进行检查:Android 检查perrmision(gps)是否需要停止功能,android,android-gps,Android,Android Gps,我需要在我的Android应用程序中设置gps。但是Function requestLocationUpdates需要通过以下方式进行检查: locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if(ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageMan
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
if(ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION);
return;
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
如果我删除返回(从If)应用程序崩溃。如果我放置返回函数requestLocationUpdates,则不会调用
如何修复它?您不能在requestPermissions之后调用RequestLocationUpdate
requestPermissions是一个异步调用,“this”(您的活动)是您的侦听器
您必须在活动中实施:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
//check if all the grantResult are equal to PackageManager.PERMISSION_GRANTED
}
在该功能中,检查权限是否被接受,如果为TRUE,则调用RequestLocationUpdate。您不能在requestPermissions之后调用RequestLocationUpdate
requestPermissions是一个异步调用,“this”(您的活动)是您的侦听器
您必须在活动中实施:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
//check if all the grantResult are equal to PackageManager.PERMISSION_GRANTED
}
在该功能中,检查权限是否被接受,如果为TRUE,则调用您的RequestLocationUpdate。我的代码中有onRequestPermissionResult。但如果我移动.requestLocationUpdates到已授予的部分权限。再次获得错误检查命令/如果您仔细阅读文档,就不会犯任何错误:我的代码中有onRequestPermissionResult。但如果我移动.requestLocationUpdates到已授予的部分权限。再次获得错误检查命令/如果您仔细遵循文档,就不会犯任何错误: