Vì chúng tôi biết tải nhà cung cấp nội dung khi chạy ứng dụng. Nhưng tôi muốn thực hiện một số hoạt động trước khi nhà cung cấp nội dung khởi chạy. Làm thế nào để tôi bắt được hoạt động này? Trước khi phương pháp onCreate cung cấp nội dung sẽ được gọi làLàm cách nào để bắt đầu nhà cung cấp nội dung?
Trả lời
Tôi nghĩ rằng giải pháp tìm được Ive. Ive đã tạo ra lớp ứng dụng tùy chỉnh của tôi và phương pháp ghi đè attachBaseContext
<application android:name=".ApplicationController" ...>
public class ApplicationController extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// some of your own operations before content provider will launch
}
}
Nhưng tôi muốn thực hiện một số hoạt động trước khi cung cấp nội dung sẽ khởi động ... trước khi phương pháp onCreate cung cấp nội dung sẽ được gọi là
AFAIK, đó là không thể. onCreate()
trong số ContentProvider
của bạn sẽ là cơ hội đầu tiên bạn phải chạy mã, những khoảnh khắc sau khi quá trình của bạn được chia nhỏ. Điều đó xảy ra ngay cả trước khi onCreate()
được gọi trên Application
, nếu tôi hiểu chính xác.
rất buồn. Ive đã cố gắng ghi đè lênTạo ứng dụng, nhưng có vẻ như nhà cung cấp nội dung tải trước khi tạo ứng dụng. Cảm ơn bạn đã trả lời. – pleerock
Giải pháp của tôi đòi hỏi phải sử dụng các call(Uri, String, String, Bundle)
API (như vậy, nó không phải là hoàn toàn tương thích ngược). Nhưng tôi có những thứ mà tôi muốn các ContentProvider
để chuẩn bị trước khi nó được sử dụng trong ghi đè của tôi về phương pháp call
. Sau đó, tôi làm getContentResolver().call(BASE_URI, METHOD, null, Bundle.EMPTY)
trong số Application.onCreate()
của mình. Về cơ bản, nó sẽ xóa nội dung đó cho đến sau khi Application
của tôi đang được tạo, đó là những gì chúng tôi mong đợi là 's onCreate
để hoạt động một cách tự nhiên.
- 1. Ví dụ về Nhà cung cấp nội dung và Nhà cung cấp nội dung?
- 2. Content_URI trong nhà cung cấp nội dung
- 3. onTạo Nhà cung cấp Nội dung
- 4. Cách kiểm tra nhà cung cấp nội dung trên Android
- 5. Android - nhà cung cấp nội dung sqlite và đa luồng
- 6. Nhà cung cấp nội dung riêng tư của Android?
- 7. Truy vấn nhà cung cấp nội dung Android IN khoản
- 8. Thêm nhà cung cấp/nội dung/javascripts vào đường dẫn nội dung hợp lệ của tôi
- 9. Làm cách nào để lưu trữ các đốm màu lớn trong nhà cung cấp nội dung android?
- 10. Cách thêm mệnh đề giới hạn sử dụng nhà cung cấp nội dung
- 11. Nhà cung cấp nội dung để tìm nạp kết quả từ máy chủ web?
- 12. Cách truy vấn Nhà cung cấp nội dung Android MediaStore, tránh hình ảnh mồ côi?
- 13. Làm cách nào để tạo Trình cung cấp nội dung an toàn cho chủ đề?
- 14. Trình tải con trỏ cho nhiều nhà cung cấp nội dung
- 15. Nhà cung cấp nội dung Android và mối quan hệ DB nhiều người
- 16. Xử lý ngoại lệ (cross-process) trong nhà cung cấp nội dung tùy chỉnh Android
- 17. Hạn chế quyền truy cập vào nhà cung cấp nội dung
- 18. Chia sẻ hình ảnh với nhà cung cấp nội dung trong ứng dụng Android
- 19. Nhận danh sách các Nhà cung cấp Nội dung có sẵn
- 20. Rails 3.1 Tổ chức thư mục tài sản/nhà cung cấp đường ống nội dung
- 21. Android, nhà cung cấp nội dung trong dự án thư viện
- 22. Bản định kiểu CSS nhà cung cấp trong Rails 3.1 và đường dẫn nội dung
- 23. Rails 3.2 Đường ống tài sản + html5shiv.JS trong nhà cung cấp/nội dung/javascript
- 24. XEM ý định từ URI của nhà cung cấp nội dung?
- 25. Nội dung của rt.jar có thay đổi trên các nhà cung cấp JVM khác nhau không?
- 26. Ví dụ về nhà cung cấp nội dung không sử dụng SQLite
- 27. Android. Nhà cung cấp nội dung hoặc Cơ sở dữ liệu?
- 28. Cung cấp nội dung trên tên miền phụ 'tĩnh'
- 29. URI cho Nhà cung cấp nội dung nháp SMS là gì?
- 30. Tại sao tôi nên sử dụng nhà cung cấp nội dung tùy chỉnh trong Android?
Điều đó có thể hoạt động vào lúc này, nhưng tôi không biết liệu nó có đáng tin cậy trên các phiên bản hay không. – CommonsWare
Nó tồn tại trên 17 apis)) Có lẽ trong các tính năng google sẽ cung cấp cho chúng tôi bất kỳ apis cho hoạt động này, nhưng bây giờ nó hoạt động. Cảm ơn bạn đã trả lời! – pleerock
Giải pháp này hoạt động, tuy nhiên nó không đầy đủ chức năng. Ví dụ, phương thức 'Context.getMainLooper()' trả về 'null' khi được gọi trước' Application.onCreate() '. – Michael