Permission trong Android (Part 1) - Khai báo các quyền (permission) cho ứng dụng

Trong bài viết này mình xin giới thiệu với các bạn vấn đề cấp quyền cho ứng dụng Android. Mình sẽ chia bài viết thì 3 phần:

Mọi ứng dụng Android đều chạy với các quyền truy cập nhất định. Nếu 1 ứng dụng cần sử dụng tài nguyên hay thông tin nào ngoài các quyền cơ bản của nó thì đều phải gửi yêu cầu các quyền thích hợp. Bạn phải khai báo ứng dụng của bạn cần những quyền nào bằng việc liệt kê các quyền đó trong file Manifest.

Tùy thuộc vào các quyền đó có truy cập vào các thông tin hay tài nguyên nhạy cảm (ví dụ thông tin cá nhân, danh bạ,...) hay không mà hệ thống sẽ tự động cấp quyền, hoặc phải chờ sự cho phép của người sử dụng thiết bị. Đồng thời tùy thuộc vào phiên bản của thiết bị người dùng sẽ cấp quyền khi họ cài đặt ứng dụng (từ Android 5.1 trở xuống) hoặc khi đang chạy ứng dụng (từ Android 6.0 trở lên).

Xác định ứng dụng của bạn cần những quyền nào

Khi bạn phát triển ứng dụng của mình, bạn nên chú ý khi nào ứng dụng của bạn cần được cấp quyền. Đặc biệt, 1 ứng dụng cần cấp quyền bất cứ khi nào nó sử dụng thông tin hay các tài nguyên mà bản thân ứng dụng đó không tạo ra, hoặc hành động của ứng dụng ảnh hưởng tới thiết bị hoặc các ứng dụng khác. Ví dụ, 1 ứng dụng cần truy cập vào internet, sử dụng camera, hay bật tắt wifi, ứng dụng đó cần yêu cầu các quyền phù hợp. Để xem đầy đủ danh sác các quyền của hệ thống, bạn truy cập vào Danh sách các quyền thông thường và nguy hiểm.

Thêm các quyền vào file Manifest

Để khai báo ứng dụng của bạn cần 1 quyền, đặt 1 thẻ <use - permission> trong file Manifest, như là phần tử con của thẻ gốc <manifest>. Ví dụ, 1 ứng dụng cần gửi tin nhắn SMS thì cần thêm như sau:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

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

    <application ...>
        ...
    </application>
</manifest>

Phản hồi của hệ thống sau khi bạn khai báo 1 quyền dựa trên việc quyền đó có nhạy cảm hay không. Nếu như không ảnh hưởng tới sự riêng tư của người sử dụng, hệ thống sẽ cấp quyền tự động. Ngược lại nếu liên quan tới các thông tin nhạy cảm của người dụng, hệ thống sẽ yêu cầu người dùng đồng ý cấp quyền đó

Đây là phần đầu tiên trong chuỗi bài viết cấp quyền cho ứng dụng trong android. Mong rằng sẽ có ích cho các bạn.

Tài liệu tham khảo: https://developer.android.com/training/permissions/declaring.html

All Rights Reserved