6
LocationManagerのAndroidチェック権限
アクティビティレイアウトのボタンをクリックしたときに、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座標を取得するより良い/より簡単な方法はありますか?