Tôi đang cố gắng đồng bộ hóa dấu thời gian giữa nhiều thiết bị Android để tôi có thể khởi chạy tác vụ cùng một lúc. Tôi thấy rằng tôi có thể sử dụng Timer và đặt ngày dựa trên System.currentTimeMillis(), nhưng vấn đề dường như là dấu thời gian của nhiều thiết bị chỉ đủ xa nhau mà tôi không nhận được độ chính xác mà tôi muốn.Đồng bộ hóa dấu thời gian trên nhiều thiết bị
Tôi đang tìm ở đâu đó trong khoảng 50-100 ms, nếu có thể. Một ý tưởng tôi có là sử dụng Android Beam để gửi dấu thời gian của thiết bị đến thiết bị khác và sau đó tính toán delta, nhưng hóa ra tôi phải lấy dấu thời gian trước khi thư thực sự được gửi và nhận (tức là người dùng càng dài chờ đợi để gửi, đồng bằng lớn hơn sẽ được), mà làm cho chương trình đó hoàn toàn sụp đổ.
Làm cách nào để đồng bộ hóa hai hoặc nhiều thiết bị để đồng hồ bên trong của chúng không cách nhau hơn 100 ms? Điều này thậm chí có thể được nếu không sử dụng một máy chủ bên ngoài giữ thời gian không?
Bất kỳ đề xuất nào khác về kỹ thuật để thực hiện điều gì đó trên nhiều thiết bị càng gần với càng nhiều càng tốt cũng sẽ được hoan nghênh.
Tôi đã thử sử dụng vị trí GPS. Tôi có thể nhận được nó và thiết lập các đồng bằng, và trong khi tôi đã không nhận được đồng bộ hóa được nêu ra, tôi không biết nếu điều này là có được khả thi. Trong thử nghiệm thực tế của tôi, tôi đã phải chờ đợi đôi khi trở lên của một phút cho một tín hiệu GPS. Chưa kể, đây sẽ là một quyền được yêu cầu nhiều hơn cho ứng dụng. Tôi sẽ tiếp tục sử dụng phương pháp thời gian GPS ngay bây giờ và xem liệu tôi có thể xây dựng một sơ đồ đồng bộ hóa hoạt động hay không, nhưng tôi không biết liệu việc sử dụng GPS có đáng tin cậy trong thời gian dài hay không. –