我想檢測我的位置,我使用ACCESS_FINE_LOCATION
許可,但是當我運行的應用程序,它崩潰並在屏幕上出現錯誤信息:如何在android中使用GPS獲取位置?
「APPNAME」已停止工作
以下是我的代碼,我用於實現上述說明:
public class MainActivity extends AppCompatActivity {
LocationManager locationManager;
Location location;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Log.v("My Coordinates are: ", location.getLatitude() + " " + location.getLongitude());
}
}
我在做什麼錯在這裏?
請幫忙。
檢查此[Android的GPS定位管理器(https://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/) –
如果您使用的是Android 6 +,那麼這可能是由於運行時權限造成的。您可以閱讀接受的答案在https://stackoverflow.com/questions/40142331/how-to-request-location-permission-on-android-6。另外,如果你可以提供你的堆棧跟蹤會更容易。 – BajajG
logcat中會有堆棧跟蹤,它會告訴你更多關於這個問題的信息。檢查https://stackoverflow.com/questions/23353173/unrible-myapp-has-stopped-how-can-i-solve-this/23353174#23353174 –