2013-06-26 28 views
11

Tôi đang cố gắng triển khai hỗ trợ gói biểu tượng trong ứng dụng của mình để các gói biểu tượng tương tự hoạt động với Apex, Nova, ADW v.v. cũng sẽ hoạt động với ứng dụng của tôi. Sử dụng mã này, để tìm tập tin appfilter xml và sau đó phân tích nó để có được những tên drawable, tôi đã có thể để có được làm việc này với các chủ đề miễn phí:Android - Triển khai hỗ trợ gói biểu tượng

Context context = createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY); 
       Resources res = context.getResources(); 
       String str = ""; 
       res.getAssets().list(str); 

Tuy nhiên với các gói biểu tượng Paid này không công việc. Các tài sản trả về là 0. Tôi tin rằng điều này là do khóa chuyển tiếp hiện diện trên các ứng dụng trả tiền trên JB + khiến cho tài sản trở nên riêng tư. (Đã nêu tại đây: Accessing assets of other Android app on Jelly Bean)

Tôi chưa thể tìm thấy bất kỳ thông tin nào về cách hỗ trợ gói biểu tượng và dịch ngược gói biểu tượng apk Tôi không thể thấy nhà cung cấp nội dung phương pháp tương tự như tôi để lấy tài sản.

Có ai có thể cung cấp cho tôi bất kỳ thông tin nào về cách thực hiện việc này hoặc chỉ cho tôi đúng hướng không?

+0

Tôi đang gặp phải sự cố tương tự. Tôi hiểu việc lấy biểu tượng liên quan đến tệp "appfilter.xml", nhưng tôi không biết cách làm cho nó hoạt động. –

Trả lời

1

Không phải là nguồn chính thức, nhưng Apex Launcher Theme Tutorial ghi chú rằng

Tiếp theo, mở file appfilter.xml dưới res/thư mục xml. (Lưu ý: Tệp này được sử dụng để nằm trong thư mục nội dung, nhưng tính năng mã hóa ứng dụng mới trong JellyBean khiến công cụ chủ đề không thể truy cập tài sản của chủ đề trả tiền.)

Vì vậy, có vẻ như có không có nhà cung cấp nội dung đặc biệt nào được sử dụng - cơ chế đơn giản phải được điều chỉnh để làm việc với cơ chế bảo mật được giới thiệu trên Jelly Bean.