Quyền trên Android

Các quyền trên Android nhằm bảo vệ quyền riêng tư của người dùng Android. Thông báo nhắc người dùng khi ứng dụng muốn truy cập các loại dữ liệu đối với dữ liệu nhạy cảm như danh bạ hoặc ảnh và các tính năng hệ thống như 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 loại dữ liệu này (một nhóm nhỏ các loại dữ liệu của Google Fit), hãy yêu cầu quyền thích hợp cho Android trước khi yêu cầu quyền OAuth. Hãy xem phần bên dưới.

Ví dụ về màn hình xin phép quyền Android
Hình 1.Màn hình chế độ đồng ý đối với quyền của Android.

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 đối với Android:

  • Cách ghi lại 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 ACCESS_FINE_LOCATION trên Android:

  • Để đọc các loại dữ liệu này, hãy làm như sau:
    • com.google.distance.delta
    • com.google.location.sample
    • com.google.location.bounding_box
    • com.google.speed

Để ghi lại các loại dữ liệu này, bạn cần yêu cầu quyền BODY_SENSORS cho Android:

  • com.google.heart_rate.bpm

Yêu cầu quyền truy cập Android

Tìm hiểu về cách yêu cầu quyền truy cập Android, quyền nhận dạng hoạt động thể chất, quyền truy cập thông tin vị trí tốtquyền truy cập cảm biến cơ thể.

Để truy cập vào các loại dữ liệu ở trên bằng các API Google Fit, bạn cần triển khai logic để xử lý việc yêu cầu cấp quyền trên Android cho cả Android 10 và các phiên bản Android trước. Những 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.

  1. Thêm quyền vào tệp kê khai.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. 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
    }
    
  3. Nếu quyền chưa được cấp, hãy yêu cầu quyền:

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

Android 9 trở xuống

Để ứng dụng của bạn có thể nhắm đến API cấp 28 trở xuống, hãy làm như sau:

  1. Yêu cầu quyền com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Thêm quyền vào tệp kê khai.

    <uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>