Làm cách nào để trao đổi tin nhắn giữa 2 thiết bị Android thông qua wifi và bluetooth mà không cần internet?


7

Tôi hiện đang làm việc để tạo ra một ứng dụng cho thiết bị di động với Android, có khả năng gửi và nhận tin nhắn thông qua các phương tiện địa phương như wifi và bluetooth. Sau khi thực hiện một nghiên cứu về nó, tôi phát hiện ra rằng Android không có chức năng quảng cáo wifi tự nhiên và cách duy nhất để đạt được điều đó là thông qua việc root thiết bị của bạn và vá wpa_s repeatant và một số phương pháp tương tự khác không phải chung cho mọi thiết bị .

Tóm tắt những gì tôi đang cố gắng đạt được:

Một ứng dụng dành cho Android quét các thiết bị gần đó và cố gắng tự động kết nối với chúng. Nếu thiết bị khác cũng không nhận được ứng dụng này thì nó sẽ tự động chấp nhận mọi yêu cầu kết nối mà nó nhận được và khi kết nối được thiết lập, nó sẽ gửi lại một tin nhắn đảm bảo rằng ứng dụng này đã được cài đặt để cả hai có thể bắt đầu trao đổi tin nhắn tự động và người dùng không ' t phải cho phép / từ chối bất kỳ việc gửi / nhận trong thời gian thực.

Câu hỏi của tôi là:

  1. Có cách nào gửi tin nhắn qua wifi giữa 2 thiết bị Android mà không cần sử dụng internet không?

  2. Vì Ad Hoc không được hỗ trợ, nên có cách nào khác không?

  3. Trong trường hợp câu trả lời cho 2 là không, thì có thể biến một trong các thiết bị thành điểm truy cập để thiết bị kia có thể kết nối với nó và ngược lại.

  4. Đối với bluetooth, có thể bỏ qua hoặc tự động hóa cho phép / từ chối bật lên của kết nối đến và quy trình ghép nối không?

Tôi sẽ rất vui nếu bạn có thể cho tôi một câu trả lời cho những điều đó và / hoặc bất kỳ đề xuất nào.


Xin lỗi, nhưng các câu hỏi phát triển không có chủ đề ở đây và thuộc về Stack Overflow . Vui lòng xem Câu hỏi thường gặp của chúng tôi để xem chủ đề của trang này là gì.
eldarerathis

3
Tôi nghĩ rằng câu hỏi này là công bằng cho trang web này. Đó là hỏi thêm nếu những gì mong muốn là có thể về mặt kỹ thuật, không phải là một giải pháp lập trình. (Điều đó nói rằng, tôi nghĩ rằng nó cũng có thể đã được hỏi tại Stack Overflow , nhưng ở định dạng hiện tại của nó có thể sẽ được khởi động ở đây.)
ale

1
@AlEverett: Tôi không chắc là tôi thấy điều đó trong trường hợp này, nhưng dù sao đi nữa: tôi không nghĩ rằng tiêu đề mới thực sự phản ánh những gì OP đang tìm kiếm. Trả lời "Làm thế nào để tôi làm điều này?" với tư cách là người dùng cuối có thể khác rất nhiều so với "Làm thế nào để tôi làm điều này?" Là một nhà phát triển, IMHO. Ví dụ, câu trả lời cho số 3 trong danh sách sẽ là sử dụng ứng dụng kết nối wifi hỗ trợ chế độ cơ sở hạ tầng. Tuy nhiên, tôi không nghĩ điều đó thực sự hữu ích nếu bạn đang cố gắng tự mình thực hiện nó, trừ khi bạn chỉ sử dụng mã nguồn từ ứng dụng chia sẻ hoặc biến nó thành điều kiện tiên quyết để sử dụng ứng dụng của riêng bạn.
eldarerathis

Ngoài ra, từ quan điểm người dùng: câu hỏi này có thể liên quan, mặc dù tôi nghĩ rằng nó chỉ đặc biệt bao gồm giọng nói qua wifi (không có truy cập internet).
eldarerathis

vâng cảm ơn vì đã chỉ ra điều này, tôi xin lỗi tôi đã lấy thực tế là trang web này liên quan đến việc phát triển là điều hiển nhiên, ai đó trong số bạn có thể di chuyển nó đến đó hay tôi nên đăng lại?
dùng452730

Câu trả lời:


3

Bản thân tôi đã làm việc trong dự án tương tự, trong đó không chỉ nhắn tin mà chúng tôi còn quan tâm đến việc trò chuyện bằng âm thanh (thời gian thực). Như bạn đã chỉ ra, Android hiện tại không thực sự hỗ trợ chức năng wifi ad-hoc (như bạn nói rằng việc vá wpa_s repeatant không chung chung và thật lòng tôi sẽ gọi phương thức đó là vô dụng.) Cũng như nhu cầu của bạn, ngay cả tôi cũng muốn KHÔNG sử dụng internet, vì vậy không thể tìm thấy bất kỳ cách nào khác, vì lúc đó tôi chỉ sử dụng bất kỳ kết nối wifi cục bộ nào để kết nối (chỉ cần rõ ràng, vẫn không sử dụng internet) Tôi hy vọng điều này có thể trả lời điểm của bạn 1/2/3. Tôi không chắc liệu giải pháp tốt hơn cho 1/2/3 có tồn tại ít nhất miễn là người dùng Android không cho phép tạo quảng cáo (hoặc ít nhất đã tham gia..như bây giờ người ta có thể '

Về 4, tôi một lần nữa xin lỗi khi nói câu trả lời đó cũng là 'Không'. Khi hai thiết bị kết nối lần đầu tiên, việc ghép đôi phải xảy ra. Và, theo như tôi nhớ (tôi đã thực hiện dự án này vài tháng trước và không có thời gian để tiếp tục / xây dựng) cho các kết nối tiếp theo với các thiết bị đã được ghép nối, nó không yêu cầu bất kỳ xác nhận nào ngoài xác nhận của chúng tôi mà chúng tôi yêu cầu chấp nhận cuộc gọi thoại đến. Khác với phương pháp bluetooth đó thực sự hoạt động hoàn toàn tốt.

Hy vọng rằng đã giúp. Hãy cho tôi biết nếu có một cái gì đó tôi có thể làm rõ hơn.

-Atul


Một lợi thế của việc sử dụng kết nối wifi bên ngoài là phạm vi có thể nhiều hơn có thể với ad-hoc được tạo từ Android (ngay cả khi chúng tôi có thể tạo ad-hoc từ Android)
Atul Gidel

Cảm ơn Atul vì đã trả lời nhanh, ý của bạn là "bất kỳ kết nối wifi cục bộ nào ở gần để kết nối với" Tôi đoán nó chỉ thông qua một điểm truy cập đúng không?
dùng452730

Đúng. xin lỗi, nếu tôi không rõ ràng
Atul G Lòng tin

1

Trường hợp sử dụng này hiện có một giải pháp dài hạn rõ ràng: Android Beam / NFC. Mặc dù vậy, không có nhiều thiết bị hỗ trợ NFC, do đó vẫn cần các kỹ thuật khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.