Google Talk và Play Store vẫn yêu cầu đồng bộ hóa nền trên Ice Cream Sandwich?


8

Khi tôi sử dụng các phiên bản Android lên tới 2.x, một số ứng dụng như Google Talk và Android Market (hiện là Play Store) yêu cầu đồng bộ hóa nền để được kích hoạt thông qua Cài đặt -> Tài khoản và đồng bộ hóa -> Dữ liệu nền . Gần đây tôi đã nâng cấp lên Ice Cream Sandwich và nhận thấy rằng cả Google Talk và Play Store hiện cũng hoạt động khi tắt cài đặt đó.

Các ứng dụng như vậy vẫn yêu cầu đồng bộ hóa nền, có thể theo cách không còn được kiểm soát bởi cài đặt có thể truy cập của người dùng?

Câu trả lời:


8

Có, dữ liệu nền luôn được bật kể từ Ice Cream Sandwich. Xem ghi chú trong tài liệu cho android.net.ConnectivityManager.getBackgroundDataSetting():

Kể từ khi ICE_CREAM_SANDWICHcó sẵn dữ liệu nền phụ thuộc vào một số yếu tố kết hợp và phương pháp này sẽ luôn trả về đúng. Thay vào đó, khi dữ liệu nền không có sẵn, getActiveNetworkInfo()bây giờ sẽ xuất hiện ngắt kết nối.


Vending (tên nội bộ của Android Market, trên thực tế com.android.vending) sử dụng C2DMđể nhận các yêu cầu cài đặt (hãy xem bảng kê khai ứng dụng của nó; ngay cả trên ICS, nó vẫn có các máy thu c2dm). AFAIK, C2DM chỉ hoạt động khi có sẵn dữ liệu nền.

Cách đây một thời gian, tôi đã đọc một bài đăng blog ở đâu đó (thật không may là tôi không tìm thấy ngay bây giờ) giải thích cách Android Market (bài đăng từ trước khi được đổi tên) hoạt động. IIRC, ngay cả khi bạn yêu cầu cài đặt ứng dụng trực tiếp trên thiết bị của mình (thay vì gián tiếp thông qua trang web https://market.android.com/ ), tất cả những gì đã làm là gửi yêu cầu đến máy chủ Google, sau đó gửi thiết bị của bạn (thông qua C2DM) yêu cầu cài đặt. Điều này giải thích tại sao Vending cần dữ liệu nền. Nó không thể làm bất cứ điều gì mà không thể nhận yêu cầu qua C2DM từ các máy chủ của Google.

Tôi không biết về Google Talk, nhưng từ những gì tôi đã nghe, nó đã sử dụng C2DM kể từ trước khi C2DM có sẵn cho công chúng. Một lần nữa, điều này sẽ giải thích tại sao nó cần dữ liệu nền để làm việc.

AFAIK, đồng bộ hóa nền hoàn toàn tách biệt với dữ liệu nền, ngoài thực tế là rõ ràng nó không thể đồng bộ hóa trong nền nếu dữ liệu nền bị tắt và thực tế là bạn có thể thay đổi nó từ trong màn hình đồng bộ hóa trong ứng dụng cài đặt.


0

Tôi có Samsung Galaxy Nexus chạy ICS 4.0.4. Khi tôi điều hướng đến màn hình Cài đặt-> Tài khoản & Đồng bộ hóa và chọn một tài khoản (cụ thể là tài khoản tôi sử dụng cho Google Talk và cửa hàng Google Play), hai ứng dụng này không có trong danh sách các ứng dụng có thể được bật / tắt cho nền đồng bộ hóa. Nếu các ứng dụng này đang thực hiện đồng bộ hóa nền, thì đó không còn là tùy chọn có thể cài đặt của người dùng để vô hiệu hóa nó.


Hai người họ không bao giờ ở đó.
RR
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.