Quyền trên Android nhằm bảo vệ quyền riêng tư của người dùng Android. Họ nhắc khi ứng dụng muốn truy cập vào các loại dữ liệu nhạy cảm như danh bạ hoặc ảnh, và các tính năng của hệ thống như phát hiện vị trí hoặc phát hiện bước. Người dùng cấp các quyền này khi tải ứng dụng của bạn xuống lần đầu tiên.
Nếu ứng dụng của bạn cần quyền truy cập vào bất kỳ loại dữ liệu nào trong số này (một tập hợp con của các loại dữ liệu Google Fit), hãy yêu cầu quyền Android có liên quan trước khi yêu cầu quyền OAuth. Xem bên dưới.

Các loại dữ liệu cần có quyền trên Android
Để truy cập vào các loại dữ liệu hoạt động thể chất này, bạn cần yêu cầu quyền ACTIVITY_RECOGNITION
của Android:
Cách ghi các loại dữ liệu này:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
Cách đọc các loại dữ liệu này:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
Để truy cập vào các loại dữ liệu này, bạn cần yêu cầu quyền truy cập ACCESS_FINE_LOCATION
của Android:
- Cách đọc các loại dữ liệu này:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
Để ghi các loại dữ liệu này, bạn cần yêu cầu quyền BODY_SENSORS
trên Android:
com.google.heart_rate.bpm
Yêu cầu cấp quyền trên Android
Tìm hiểu về cách yêu cầu quyền trên Android, quyền nhận dạng hoạt động thể chất, quyền truy cập thông tin vị trí chính xác và quyền đối với cảm biến cơ thể.
Để truy cập các loại dữ liệu ở trên bằng API Google Fit, bạn cần
triển khai logic để xử lý việc yêu cầu quyền trên Android cho cả Android 10 và
các phiên bản trước của Android. Các ví dụ này sử dụng quyền ACTIVITY_RECOGNITION
.
Android 10
Vì vậy, ứng dụng của bạn có thể nhắm đến API cấp 29 trở lên, yêu cầu người dùng cấp quyền và đăng ký quyền đó trong tệp kê khai ứng dụng.
-
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
Kiểm tra xem quyền đó đã được cấp hay chưa:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
Nếu quyền chưa được cấp, hãy yêu cầu cấp quyền:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 trở xuống
Vì vậy, ứng dụng của bạn có thể nhắm đến API cấp 28 trở xuống:
Yêu cầu quyền
com.google.android.gms.permission.ACTIVITY_RECOGNITION
.-
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>