Tôi cố gắng để sử dụng Android Browser.BOOKMARKS_URI vào bookmark thiết bị CRUD từ bên trong ứng dụng của tôi (https://play.google.com/store/apps/details?id=com.elementique.web)Trình duyệt Android.BOOKMARKS_URI không hoạt động trên tất cả các thiết bị. Làm thế nào để tìm ra uri chính xác cho một thiết bị nhất định?
Đó là làm việc tốt trên hầu hết các thiết bị, nhưng không hoạt động trên một số :-(
Trên những thiết bị, cố gắng sử dụng bookmark dẫn đến
java.lang.IllegalArgumentException: Unknown URL content://browser/bookmarks
bây giờ tôi hiểu rằng Boookmark Uri có thể khác với giá trị mặc định AOSP. (tức là "nội dung: // duyệt/bookmarks")
Câu hỏi:
Làm cách nào để có được đúng Dấu trang Uri cho một thiết bị cụ thể?
Tôi đã 'thu thập' URI sau
private static final Uri BOKKMARKS_DEFAULT = Browser.BOOKMARKS_URI; // = Uri.parse("content://browser/bookmarks")
private static final Uri BOKKMARKS_URI_CHROME = Uri.parse("content://com.android.chrome.browser/bookmarks");
private static final Uri BOKKMARKS_URI_SAMSUNG_S_ = Uri.parse("content://com.sec.android.app.sbrowser.browser/bookmarks");
Có một cách để 'danh sách' tất cả các nội dung có sẵn URI (nội dung: // ...) trên một thiết bị? Nếu có, tôi có thể liệt kê chúng và tìm kiếm sự xuất hiện của chuỗi "/ bookmarks" và thử với URI này.
Note:
Tôi hiện đang trong quá trình tạo ra một cơ chế dự phòng nếu ứng dụng không có khả năng để có được một dấu 'làm việc' URI (ví dụ riêng Bookmark DB của tôi kể từ khi tôi cần một tính năng bookmark trong ứng dụng của tôi)
Cảm ơn! Có vẻ như gần như những gì tôi đang tìm kiếm. Tôi sẽ chỉ có thể lọc contentProvider để giữ dấu trang. Tôi không nghĩ chúng ta có thể làm tốt hơn thế, vì vậy, theo quan điểm của tôi, đó là câu trả lời đúng. Cảm ơn :-) – Pascal
Hy vọng nó sẽ giúp bạn. Và nếu bạn quản lý để thu thập thêm URI trình duyệt, xin vui lòng chia sẻ là tốt ;-) nó chắc chắn sẽ tiết kiệm thời gian cho tất cả chúng ta. –