2012-01-04 41 views
6

Tôi đang cố triển khai giao tiếp P2P giữa hai điện thoại Android (một trong số chúng sẽ được thay thế bằng một thiết bị độc lập cuối cùng). Tôi đã thấy rằng Android 4 hỗ trợ SNEP được xuất bản bởi diễn đàn NFC và sẽ khả dụng trên các thiết bị không phải Android.Android NFC: Giao thức SNEP và phản hồi P2P

Tôi đã làm theo hướng dẫn của Google dành cho NFC P2P (http://developer.android.com/guide/topics/nfc/nfc.html#p2p) và tôi có thể gửi một số thông tin từ điện thoại này sang điện thoại khác, nhưng Tôi có một vài câu hỏi:

  1. Android Beam chỉ là tên cho NFC hoặc là giao thức Android hoạt động trên SNEP/NPP? Nếu đó là một giao thức, làm thế nào để làm NFC P2P mà không cần Beam?
  2. Cách đặt sử dụng SNEP?
  3. Cách gửi phản hồi đến thiết bị kia khi kết nối được khởi tạo (nhận được tin nhắn đầu tiên)?

Cảm ơn sự giúp đỡ của bạn !!!

Trả lời

2

Android Beam chỉ là tên, chính xác. Thiết bị sử dụng SNEP theo mặc định, nếu không thành công, nó sẽ thử NPP. Bạn không thể gửi phản hồi thực sự từ thiết bị nhận đến người gửi. Bạn chỉ có thể sử dụng một callback để được thông báo về một sự thúc đẩy thành công:

http://developer.android.com/reference/android/nfc/NfcAdapter.OnNdefPushCompleteCallback.html

+0

Ok cảm ơn bạn đó là những gì tôi nghĩ – user1029309

0

ismb-snep-java's Google Code page giải thích thông tin liên lạc và truyền dữ liệu sử dụng giao thức SNEP và tôi đã thử nghiệm nó và nó hoạt động. Sau khi tìm kiếm thông qua PDF từ cả ACR và Android, tôi tin rằng bạn sẽ phải thực hiện một số tweeks để làm cho nó hoạt động theo cách bạn mong muốn.

+0

Tôi đang cố gắng gửi yêu cầu nhận được nhưng tôi không thể tìm ra cách gửi nó từ Android. Bạn có biết gì về nó? – firegloves

0

Để cung cấp cho một lời giải thích rõ ràng hơn:

Android Beam chỉ là một tên cho NFC hoặc nó là một giao thức Android làm việc trên SNEP/NPP? Nếu đó là một giao thức, làm thế nào để làm NFC P2P mà không cần Beam?

Chùm Android là một tính năng của hệ điều hành Android. Đây là cơ chế trao đổi thông điệp NDEF cấp cao trên đầu trang của SNEP/NPP. Hiện tại, chế độ ngang hàng (trên Android) chỉ có thể truy cập thông qua Android Beam, không thể sử dụng cho liên lạc hai chiều.

Cách đặt sử dụng SNEP?

Nếu bạn muốn sử dụng SNEP trên Android, (tôi nghĩ) cách duy nhất là lập trình triển khai SNEP của riêng bạn trên giao thức ISO-DEP. Vì SNEP nằm trên đầu trang của LLCP, bạn cũng cần phải tạo bản thực thi LLCP của riêng bạn. Đó không phải là dễ dàng ..

Làm thế nào để gửi câu trả lời cho các thiết bị khác khi kết nối được khởi tạo (thông điệp đầu tiên nhận được)

Với SNEP, bạn không thể. Vì @robertly cho biết, chỉ có thể tạo một tin nhắn gọi lại. Nếu bạn muốn giao tiếp hai hướng thực sự, hãy sử dụng chế độ hoạt động đọc/ghi và mô phỏng thẻ.

Các vấn đề liên quan