如何在運行時請求位置權限
在 Manifest 檔案中,包含位置存取所需的權限至關重要。但是,在運行 Android 6 或更高版本的裝置上,僅向清單新增權限是不夠的。若要成功取得位置更新,您需要在執行時請求權限。這是逐步指南:
-
檢查權限狀態:
- 使用ContextCompat.checkSelfPermission() 驗證是否應用程式有權存取所需的權限(在您的情況下, Manifest.permission.ACCESS_FINE_LOCATION)。
-
請求權限(如果未授予):
- 如果未授予權限,請使用 ActivityCompat.requestPermissions()。這將提示使用者授予或拒絕權限。
-
處理權限結果:
- 重寫 onRequestPermissionsResult()。此方法將接收權限請求的結果並相應地更新位置管理員。
在您的程式碼中:
- 您正確地新增了位置
- 您使用ContextCompat.checkSelfmission() 來檢查Permission() 來檢查Permission()權限狀態,但不要求如果未授予權限,則傳回該權限。
- 要解決此問題,您需要使用 ActivityCompat.requestPermissions() 請求位置權限,如答案中提供的更新的 Java 和 Kotlin 程式碼範例所示。
-
開始位置更新(如果許可) grant):
- 授予權限後,使用requestLocationUpdates() 接收位置更新。
-
暫停/恢復位置更新:
- 使用onPause() 和onResumeActivity 分別用於在Activity 處於後台或前台時暫停和恢復位置更新。
以上是Android中如何正確請求運行時位置權限?的詳細內容。更多資訊請關注PHP中文網其他相關文章!