6
Android对LocationManager的检查权限
当我单击活动布局中的按钮时,我试图显示GPS坐标。以下是单击按钮时调用的方法: public void getLocation(View view) { TextView tv = (TextView) findViewById(R.id.gps_coord_view); LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE); Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); tv.setText("Latitude: " + loc.getLatitude() + "\nLongitude: " + loc.getLongitude()); } 我收到一个错误消息,说 通话需要许可,但可能会被用户拒绝。代码应显式检查权限是否可用。 我已经在中授予了这些权限AndroidManifest。当我在调用之前添加以下内容时,该错误会得到解决,并且应用程序会编译lm.getLastKnownLocation: if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return; } 但是,当我按下单击getLocation的按钮时,应用程序崩溃。到底是怎么回事?有没有更好/更简单的方法来获取设备的GPS坐标?