[Android Cơ Bản] Intent Filter trong Android

Hi các em, trong bài viết này thầy giới thiệu tới các em khái niệm Intent Filter trong lập trình Android

Intent Filter là gì ?

Intent Filter là các câu lệnh tùy chọn trong thẻ <activity> tại file AndroidManifest.xml của project Android
Các tùy chọn này quy định kiểu dữ liệu mà Activity sẽ nhận hoặc khai báo kiểu dữ liệu mà Activity này có thể xử lý với hệ thống.

Ví dụ : Chúng ta muốn tạo 1 ứng dụng gửi, nhận SMS thay thế trình gửi nhận SMS mặc định của điện thoại, khi này chúng ta cần khai báo Intent Filter cho Activiy của mình như sau để hệ thống biết là ứng dụng có thể nhận được các dạng dữ liệu là sms

<activity android:name=".SecondActivity">

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
</intent-filter>

</activity>

Sau khi khai báo Activity với tham số Intent Filter như trên có nghĩa là Acitivty này sẽ được hệ thống gợi ý khi có chương trình nào đó gửi sms như hình minh họa sau :


Ngoài chương trình tin nhắn mặc định của hệ thống, chúng ta thấy có thêm app IntentFilter có Actiivty được khai báo IntentFilter

Link code mẫu :
https://github.com/huuhuybn/IntentFilter

1 số mẫu đăng kí Intent Fitler hay dùng

Đăng kí chia sẻ

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="application/*" />
    <data android:mimeType="audio/*" />
    <data android:mimeType="image/*" />
    <data android:mimeType="message/*" />
    <data android:mimeType="multipart/*" />
    <data android:mimeType="text/*" />
    <data android:mimeType="video/*" />
</intent-filter>

Mọi ý kiến đóng góp, thắc mắc các bạn gửi về email dotplays.com@gmail.com hoặc
fanpage : https://www.facebook.com/HuyNguyenAndroid