Tôi đang triển khai một Widget có ConfigurationActivity và phải tương thích với Eclair (2.1).ngăn chặn kích hoạt của onUpdate của WidgetProvider
Các documentation về AppWidgetProviders onUpdate
phương pháp tiểu bang rõ ràng rằng:
... .Tuy nhiên, nếu bạn đã tuyên bố tình Hoạt động cấu hình, phương pháp này không được gọi khi người dùng thêm các Widget App, nhưng được gọi là cho các bản cập nhật tiếp theo. Đó là trách nhiệm của hoạt động cấu hình để thực hiện cập nhật đầu tiên khi cấu hình được thực hiện. (Xem phần Tạo hoạt động cấu hình tiện ích ứng dụng bên dưới.)
Thật không may điều này không đúng (ít nhất là đối với Nexus S của tôi với Jellybean). Trong Fact onUpdate
được gọi là trướconCreate
các trình kích hoạt ConfigurationActivity của tôi. Tôi muốn biết, nếu có hành vi tương tự trên các điện thoại khác và nếu có thể ngăn chặn cuộc gọi onUpdate
bên trong Nhà cung cấp của tôi?
Giải pháp của tôi là lưu trữ cờ trong SharedPreferences bên trong WidgetConfigurationActivity của tôi với AppWidgetId cụ thể đó. Nếu nó không có ở đó, tôi có thể giả định rằng ConfigurationActivity không được gọi trước. Điều này làm việc, nhưng là trong quan điểm của tôi Xem thực sự xấu xí. Nếu tôi không thể ngăn chặn onUpdate
kích hoạt, có giải pháp nào tốt hơn không?
có nó được gọi. Chỉ là một phần tài liệu không đúng - thậm chí đôi khi Google cũng gặp phải những điều sai trái. –
Tôi đã nhìn thấy onUpdate được gọi mỗi lần trước khi tạo hoạt động cấu hình, bất kể phiên bản Android, thiết bị hoặc trình giả lập –