AIDL là ngôn ngữ định nghĩa giao diện Android. Điều này về cơ bản cho phép bạn thực hiện các cuộc gọi IPC.
Sử dụng: Có những tình huống mà một quy trình cần trao đổi với người khác để nhận thông tin nhất định.
Ví dụ: Quy trình A cần thông tin về trạng thái Cuộc gọi để xác định xem cần phải thay đổi Loại cuộc gọi (ví dụ: Audio to Video Call hoặc Vice-versa). Bạn có thể nhận trạng thái cuộc gọi từ một số người nghe nhất định nhưng phải thay đổi Loại cuộc gọi từ Âm thanh thành Video, Quy trình A cần móc để thay đổi. Điều này "Hook" hoặc cách thay đổi cuộc gọi thường là một phần của Telephony Lớp học là một phần của Quá trình điện thoại. Vì vậy, để có được thông tin như vậy từ quá trình Telephony, One có thể viết một dịch vụ điện thoại (hoạt động như một phần của quy trình điện thoại Android), cho phép bạn truy vấn hoặc thay đổi loại cuộc gọi. Kể từ Process A (Client) đây đang sử dụng này Dịch vụ từ xa mà giao tiếp với điện thoại quá trình để thay đổi kiểu cuộc gọi, nó cần phải có một giao diện để nói chuyện với dịch vụ. Kể từ Dịch vụ điện thoại là nhà cung cấp và Quy trình A (khách hàng) là người dùng, cả hai đều cần phải đồng ý về giao diện (giao thức) mà họ có thể hiểu và tuân thủ. Giao diện như vậy là AIDL, cho phép bạn nói chuyện (thông qua dịch vụ từ xa) với quá trình Telephony và hoàn thành công việc.
Đơn giản chỉ cần đặt trong điều khoản laymen, AIDL là một "thỏa thuận" Khách hàng được, mà nói với nó về làm thế nào để nói chuyện với dịch vụ. Bản thân dịch vụ sẽ có một bản sao của thỏa thuận đó (vì nó được xuất bản cho các khách hàng của nó).Sau đó, dịch vụ sẽ thực hiện các chi tiết về cách nó xử lý khi yêu cầu đến hoặc nói khi ai đó đang nói chuyện với nó
Vì vậy, quá trình A yêu cầu thay đổi cuộc gọi qua Dịch vụ, Dịch vụ nhận được yêu cầu, nó nói chuyện với quá trình điện thoại (vì nó là một phần của nó) và thay đổi gọi video.
Một điểm quan trọng cần lưu ý là, AIDL chỉ cần thiết cho môi trường đa luồng. Bạn có thể làm với Binders nếu bạn không cần phải đối phó với vòm đa luồng.
ok bây giờ tôi hiểu rồi, cảm ơn người đàn ông, giả dụ nếu tôi muốn điều khiển android quay số điện thoại sẵn có hoặc có thể trong trường hợp tôi muốn theo dõi tất cả các ứng dụng khác trên điện thoại thì tôi cần sử dụng AIDL ... sửa tôi nếu tôi sai. –
Nó phụ thuộc. Một số thông tin (như liên hệ) có sẵn thông qua các nhà cung cấp nội dung. Bạn có thể thấy nhà cung cấp nội dung dưới dạng lưu trữ dữ liệu liên tục được chia sẻ giữa các ứng dụng cho dữ liệu cụ thể. AIDL/dịch vụ/ràng buộc được sử dụng để giao tiếp. Ý tôi là, không chỉ chia sẻ dữ liệu, mà còn tương tác với các thành phần khác. Bằng cách sử dụng AIDL, bạn có thể điều khiển điện thoại. – Jordi
ok cảm ơn người đàn ông tôi đã nhận nó !!! –