Quyền trên Android

Quyền trên Android nhằm bảo vệ quyền riêng tư của người dùng Android. Các quyền này sẽ nhắc người dùng khi ứng dụng muốn truy cập vào các loại dữ liệu cho dữ liệu nhạy cảm như danh bạ hoặc ảnh, cũng như các tính năng hệ thống như thông tin vị trí hoặc tính năng 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 có quyền truy cập vào bất kỳ loại dữ liệu nào trong số 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 Android có liên quan trước khi yêu cầu quyền OAuth. Xem bên dưới.

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

Các loại dữ liệu cần có quyền của 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 ACTIVITY_RECOGNITIONquyề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 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 kiểu dữ liệu này, bạn cần yêu cầu quyền 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 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 cấp quyền trên Android

Tìm hiểu về 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ácquyền truy cập cảm biến cơ thể.

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