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. Chúng nhắc người dùng khi các ứng dụng muốn truy cập vào các loại dữ liệu liên quan đến dữ liệu nhạy cảm như danh bạ hoặc ảnh, cũng như 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 trong lần đầu tiên tải ứng dụng xuống.

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 (một nhóm nhỏ các loại dữ liệu Google Fit), hãy yêu cầu quyền liên quan trên Android trước khi yêu cầu cấp quyền OAuth. Xem bên dưới.

Ví dụ về màn hình xin phép trên Android
Hình 1. Màn hình xin phép trên Android.

Các loại dữ liệu cần 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 trên 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 những loại dữ liệu này, bạn cần yêu cầu quyền ACCESS_FINE_LOCATION trên 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 lại 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 quyền trên Android

Tìm hiểu về cách yêu cầu các quyền trên Android, quyền nhận dạng hoạt động thực tế, quyền truy cập thông tin vị trí chính xácquyề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 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 chưa cấp quyền, hãy yêu cầu cấp quyền như sau:

    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:

  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"/>