Giới thiệu Intent trong Android
Trong Android, Intent là những tin nhắn không đồng bộ cho phép các component của ứng dụng (như activities, services, broadcast receivers và content providers) yêu cầu chức năng từ một component khác.
1. Intent trong Android là gì?
Intents sẽ giúp tương tác giữa các component từ cùng một ứng dụng cũng như với các component của ứng dụng khác.
Intent là đối tượng của lớp android.content.Intent
và intent chủ yếu hữu ích để thực hiện những việc sau.
Component | Mô tả |
---|---|
Bắt đầu một Activity | Khi dùng một đối tượng Intent thông qua phương thức startActivity() , chúng ta có thể bắt đầu một Activity mới hoặc Activity hiện có. |
Bắt đầu một Service | Khi dùng một đối tượng Intent thông qua phương thức startService() , chúng ta có thể bắt đầu một Service mới hoặc gửi các hướng dẫn đến một Service hiện có. |
Truyền đi một Broadcast | Khi dùng một đối tượng Intent thông qua phương thức sendBroadcast() , chúng ta có thể gửi tin nhắn đến các broadcast receiver khác. |
2. Xây dựng một đối tượng Intent
Đối tượng Intent chứa thông tin cần thiết để xác định component nào sẽ bắt đầu và hành động nào được thực hiện bởi component nhận.
Bài viết này được đăng tại [free tuts .net]
Các đối tượng Intent giúp đỡ hệ thống android biết được component nào nên bắt đầu bằng các đặc tính sau
Component name
Nó xác định tên của component bắt đầu và hệ thống android sẽ chuyển intent đến các component cụ thể được xác định bởi component name. Trong trường hợp không xác định component name thì hệ thống Android sẽ quyết định component nào nhận được intent dựa trên thông tin intent khác như action, data, v.v.
Trong Android, có thể chỉ định component name bằng cách sử dụng tên lớp của component đích và tên package, ví dụ com.tutlane.sampleActivity. Có thể thiết lập component name bằng cách sử dụng setComponent()
, setClass()
, setClassName()
hoặc sử dụng Intent constructor(phương thức khởi tạo).
Action
Nó xác định tên của action mà Intent được thực hiện. Sau đây là một số action phổ biến để bắt đầu một activity.
Action | Mô tả |
---|---|
ACTION_VIEW | Sử dụng với phương thức startActivity() khi có thông tin một activity có thể hiển thị cho người dùng. |
ACTION_SEND | Sử dụng với phương thức startActivity() khi có một số dữ liệu người dùng có thể chia sẻ thông qua một ứng dụng khác như ứng dụng email, ứng dụng chia sẻ mạng xã hội. |
Chúng ta có thể chỉ định tên action của một intent bằng cách sử dụng setAction()
hoặc một Intent constructor.
Data
Data xác định loại dữ liệu dùng cho intent filter. Khi tạo ra một intent, điều quan trọng là chỉ định loại dữ liệu (loại MIME) và URI của nó. Bằng cách chỉ định loại dữ liệu MIME, nó giúp hệ thống Android quyết định Component tốt nhất để nhận intent .
Category
Category Android là một tùy chọn cho intent và nó chỉ định thông tin bổ sung về loại Component sẽ xử lý một intent.
Ta có thể chỉ định một category cho một intent bằng cách sử dụng addCategory()
.
Các thuộc tính trên (Component Name, Action, Data and Category) sẽ đại diện cho các đặc điểm của một intent. Từ các thuộc tính này, hệ thống Android sẽ dễ dàng quyết định Component nào sẽ bắt đầu.
3. Các loại intent
Có hai loại intent có sẵn trong Android, đó là Implicit Intents và Explicit Intents.
Đây là cách sử dụng intent trong các ứng dụng Android để gọi component cần thiết dựa trên yêu cầu .