Có cách nào để lập danh sách tất cả content providers có sẵn trên thiết bị không? Không có trường hợp sử dụng thực sự, tôi chỉ nghĩ rằng nó có thể gọn gàng để xem những ứng dụng tôi đã cài đặt trên điện thoại của tôi có nhà cung cấp nội dung tiếp xúc.Nhận danh sách các Nhà cung cấp Nội dung có sẵn
Trả lời
Bạn có thể thực hiện bằng cách gọi PackageManager.getInstalledPackages() với GET_PROVIDERS
.
EDIT: Ví dụ:
for (PackageInfo pack : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
Log.d("Example", "provider: " + provider.authority);
}
}
}
Tôi có thể in ra một danh sách các nhà cung cấp, nhưng làm cách nào tôi có thể xác định nội dung thực tế có thể được truy vấn? Có ProviderInfo chứa URI tôi có thể chuyển vào một cuộc gọi query() không? – gonzobrains
@gonzobrains Không bao giờ bạn biết điều đó cho đến khi bạn giải phóng tiết lộ ứng dụng của họ :) – dhams
Tôi đang tìm kiếm Dấu trang URI cho một thiết bị cụ thể. Tôi không thể tìm thấy nội dung: // browser/bookmarks uri bằng mã của bạn? bất kỳ ý tưởng về làm thế nào để tìm đúng uir Bookmark? (xem câu hỏi của tôi http://stackoverflow.com/questions/28040445/android-browser-bookmarks-uri-does-not-work-on-all-device-how-to-find-out-the-c) – Pascal
tôi đã sử dụng lệnh adb shell như $ adb shell dumpsys > dumpsys.txt
này và tìm kiếm các nhà cung cấp nội dung chuỗi trong tập tin đầu ra. Từ đó tôi có thể thấy danh sách các nhà cung cấp nội dung trong thiết bị/trình mô phỏng.
List<ProviderInfo> providers = getContext().getPackageManager()
.queryContentProviders(null, 0, 0);
liệt kê tất cả nhà cung cấp nội dung có sẵn cho bạn trên thiết bị này.
Hoặc, nếu bạn biết tên quy trình và UID của nhà cung cấp, bạn có thể giảm danh sách bằng cách chỉ định hai tham số đó. Tôi đã sử dụng này trước khi để kiểm tra sự tồn tại của riêng cung cấp nội dung của tôi, đặc biệt hơn những người trước đó (so với miễn phí thanh toán) cài đặt:
List<ProviderInfo> providers = getContext().getPackageManager()
.queryContentProviders("com.mypackage", Process.myUid(), 0);
Lưu ý android.os.Process.myUid()
để có được ID người dùng trình riêng của tôi.
Từ dòng lệnh, hãy chạy:
adb shell dumpsys | grep Provider{
Note nẹp khai mạc. Điều này sẽ cung cấp cho bạn một danh sách ngắn của tất cả các nhà cung cấp được cài đặt thông qua các gói khác nhau.
List<ProviderInfo> returnList = new ArrayList<ProvderInfo>();
for (PackageInfo pack:getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS))
{
ProviderInfo[] providers = pack.providers;
if (providers != null)
{
returnList.addAll(Arrays.asList(providers));
}
}
return returnList;
- 1. Ví dụ về Nhà cung cấp nội dung và Nhà cung cấp nội dung?
- 2. Danh sách các nhà cung cấp oEmbed
- 3. onTạo Nhà cung cấp Nội dung
- 4. Content_URI trong nhà cung cấp nội dung
- 5. Truy vấn nhà cung cấp nội dung Android IN khoản
- 6. Cách kiểm tra nhà cung cấp nội dung trên Android
- 7. Android - nhà cung cấp nội dung sqlite và đa luồng
- 8. Cách nhận danh sách các nhà cung cấp mạng khả dụng?
- 9. Nhà cung cấp nội dung riêng tư của Android?
- 10. 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
- 11. Nội dung của rt.jar có thay đổi trên các nhà cung cấp JVM khác nhau không?
- 12. Nhà cung cấp/dịch vụ nào có sẵn trong module.config?
- 13. Danh sách các nhà sưu tập có sẵn trong PHP?
- 14. nhất thực hành cung cấp tư liệu có sẵn/cần tính Java nội dung nộp
- 15. Nhà cung cấp thành viên ASP.NET có email xác nhận
- 16. Nhà cung cấp nội dung để tìm nạp kết quả từ máy chủ web?
- 17. Danh sách hình ảnh biểu trưng của nhà cung cấp OpenID và URL đăng nhập?
- 18. Cách truy vấn Nhà cung cấp nội dung Android MediaStore, tránh hình ảnh mồ côi?
- 19. Android, nhà cung cấp nội dung trong dự án thư việ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. Hạn chế quyền truy cập vào nhà cung cấp nội dung
- 22. Nhà cung cấp nội dung Android và mối quan hệ DB nhiều người
- 23. Rsync: cung cấp danh sách các tệp chưa được gửi
- 24. Bản định kiểu CSS nhà cung cấp trong Rails 3.1 và đường dẫn nội dung
- 25. Ví dụ về nhà cung cấp nội dung không sử dụng SQLite
- 26. Cách thêm mệnh đề giới hạn sử dụng nhà cung cấp nội dung
- 27. Python nhận được danh sách sâu với nội dung?
- 28. Xử lý ngoại lệ (cross-process) trong nhà cung cấp nội dung tùy chỉnh Android
- 29. Android. Nhà cung cấp nội dung hoặc Cơ sở dữ liệu?
- 30. Trình tải con trỏ cho nhiều nhà cung cấp nội dung
Bạn có thể chạy 'adb bugreport' từ dòng lệnh sẽ đổ * tấn * thông tin về thiết bị đang hoạt động, bao gồm nhiều thông tin về mỗi gói và mọi thứ họ cung cấp: hoạt động, dịch vụ, nhà cung cấp nội dung. .. –
bản sao có thể có của [Danh sách nhà cung cấp nội dung Android] (http://stackoverflow.com/questions/1187541/android-content-provider-list) – richq