2012-05-12 44 views
8

Có cách nào để lập trình có được tất cả hình nền hệ thống Android không?Bắt tất cả hình nền hệ thống

Tôi biết cách tải mã hiện tại, qua WallpaperManager và sau đó lưu vào đĩa. Nhưng tôi muốn biết nếu có một cách để truy cập tất cả các hình ảnh hoạt động như hình nền hệ thống đi kèm với O.S.

+1

Bạn phải làm rõ câu hỏi của mình: "tất cả hình ảnh hoạt động như hình nền hệ thống". Vì có thể chỉ có một hình nền hệ thống hoạt động tại một thời điểm, đây có thể không phải là câu hỏi của bạn. Nếu câu hỏi của bạn là làm thế nào để liệt kê tất cả các hình nền POSSIBLE, bạn phải chỉ định những gì làm cho hình ảnh thành hình nền, nếu không bạn có thể chỉ cần lấy danh sách tất cả hình ảnh trên điện thoại. – theomega

+0

Android đi kèm với ứng dụng Hình nền theo mặc định. Hình ảnh của nó để sử dụng làm hình nền không phải là tệp trong thẻ sd. Thay vào đó, chúng là tài nguyên trong gói ứng dụng. Tôi muốn truy cập chúng bằng mã. Cảm ơn. – Ton

Trả lời

4

Tất cả hình nền đều nằm trong ứng dụng trình khởi chạy. Như tên của trình khởi chạy và tài nguyên của trình khởi chạy có thể khác nhau trên các thiết bị, không có cách nào để tạo một cách đáng tin cậy để thực hiện việc này.

Trên kho Android, hình nền được đặt trong Launcher2.apk: res/drawable- somedpi. Trên thiết bị của tôi, họ nằm trong thư mục draw-hdpi, nhưng điều này có thể khác với thư mục khác.

Đầu tiên hãy lấy tài nguyên của trình chạy (com.android.Launcher2.apk) như được mô tả trong câu trả lời this.

Sau đó, bạn có thể liệt kê các tài nguyên, sử dụng phương pháp tương tự như phương pháp trong câu hỏi this.

Tôi chưa thử tất cả điều này, vì vậy nó có thể không hoạt động như mong đợi.

+0

Bạn có thể cài đặt hình nền và xóa rồi độc lập với trình khởi chạy. Vì vậy, kiểm tra gói khởi chạy không giúp đỡ! – theomega

+0

Nếu bạn dịch ngược Launcer2.apk bằng apktool, bạn sẽ thấy nó chứa các hình nền. Tôi không chắc chắn những gì bạn có nghĩa là 'cài đặt một hình nền'. – Thomas

+0

Cảm ơn bạn đã chỉ cho tôi theo một hướng. Tôi có thể lấy 'Tài nguyên' cho' com.android.launcher' (cấp API 7), nhưng liệt kê các tập tin trong 'res' dir không trả về gì cả. Tôi sẽ tiếp tục cố gắng. –

-2

Chỉ cần tìm ra nơi chúng được lưu và truy cập chúng theo cách đó.

+4

ý của bạn là gì? – Ton

+1

Điều này có thể có thể vượt qua như một bình luận, nhưng nó chắc chắn không phải là một câu trả lời. Lấy làm tiếc! – kentcdodds