Có bất kỳ API chính thức hoặc không chính thức hoặc bản hack để thay thế lịch mặc định (lịch Georgia) của hệ điều hành Android bằng một lịch khác (Lịch của riêng tôi) không? Bạn có thể xem danh sách các lịch trên thế giới here nếu bạn không quen với chúng.Làm cách nào tôi có thể thay thế lịch mặc định của hệ điều hành Android?
Tôi có thể ghi đè DateFormat hoặc GregorianCalendar hoặc Calendar.getInstance()?
(Được thêm vào bản chỉnh sửa) Và nó sẽ ghi đè hoàn toàn việc sử dụng lịch Gregorian, ví dụ trên màn hình khóa Android?
Cảm ơn :)
Cảm ơn câu trả lời nhanh của bạn :) Nếu bạn nhìn vào nguồn Android Calendar.java, trái ngược với nguồn JDK của Lịch (http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/tip/ src/share/classes/java/util/Calendar.java), bạn không thể tìm thấy createCalendar() trên đó. đây là nguồn của phần liên quan trên nó: public static sync Calendar getInstance() {return new GregorianCalendar(); } –
@EbrahimByagowi: "ghi đè phương thức này (theo một số cách thức tấn công) sẽ ảnh hưởng đến việc sử dụng lịch trong giao diện người dùng Android" - oh '$ DEITY' không. Bạn không có quyền, từ một ứng dụng SDK, để ảnh hưởng đến các ứng dụng khác trong thời trang này, vì lý do bảo mật rõ ràng. Bạn được chào đón để ngã ba Android, thay đổi hệ điều hành, chuyển đổi nó thành một ROM modded, và cài đặt trên thiết bị của sự lựa chọn của bạn, nếu bạn muốn ảnh hưởng đến tất cả các ứng dụng. – CommonsWare
@EbrahimByagowi CommonsWare là 100% chính xác (như mọi khi). Nếu những gì bạn muốn là tiêm một số mã của bạn theo cách mà bất cứ khi nào bất kỳ ứng dụng nào trên thiết bị tạo lịch, chúng sẽ chạy mã của bạn để tạo lịch thay vì mặc định, sau đó những gì bạn mô tả là khá nhiều . Của bạn rõ ràng là không độc hại, nhưng không phải là những gì khuôn khổ là có để cung cấp.Bạn chỉ nhận được để viết mã mà làm việc trong khu vực của bạn, hoặc bạn viết khuôn khổ (tạo ra phiên bản của riêng bạn của Android). Có lẽ nếu bạn xây dựng lý do tại sao bạn muốn tất cả các lịch là lịch của bạn, chúng tôi có thể giúp nhiều hơn? – xbakesx