की एक सूची प्राप्त करें क्या किसी डिवाइस पर सभी उपलब्ध content providers प्रोग्रामेटिक रूप से सूचीबद्ध करने का कोई तरीका है? कोई वास्तविक उपयोग केस नहीं, मैंने सोचा कि यह देखने के लिए साफ हो सकता है कि मैंने अपने फोन पर कौन से ऐप्स इंस्टॉल किए हैं, जिन्होंने सामग्री प्रदाताओं का खुलासा किया है।उपलब्ध सामग्री प्रदाता
उत्तर
PackageManager.getInstalledPackages() को GET_PROVIDERS
के साथ कॉल करके यह संभव होना चाहिए।
संपादित: उदाहरण:
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);
}
}
}
मैं प्रदाताओं की एक सूची मुद्रित करने में सक्षम था, लेकिन मैं कैसे निर्धारित कर सकता हूं वास्तविक सामग्री जो पूछताछ की जा सकती है? क्या ProviderInfo में यूआरआई होता है मैं एक क्वेरी() कॉल में पास कर सकता हूं? – gonzobrains
@gonzobrains आप इसे तब तक नहीं जानते जब तक कि आप अपने आवेदन की छत को छोड़ दें :) – dhams
मैं किसी दिए गए डिवाइस के लिए बुकमार्क यूआरआई खोज रहा हूं। मैं सामग्री नहीं ढूंढ सकता: // ब्राउज़र/बुकमार्क यूरी आपके कोड का उपयोग कर? सही यूआईआर बुकमार्क कैसे करें इस बारे में कोई विचार? (मेरा प्रश्न देखें http://stackoverflow.com/questions/28040445/android-browser-bookmarks-uri-does-not-work-on-all-device-how-to-find-out-the-c) – Pascal
मैं आउटपुट फ़ाइल में सामग्री प्रदाताओं स्ट्रिंग के लिए खोज इस $ adb shell dumpsys > dumpsys.txt
तरह adb शेल कमांड का इस्तेमाल किया और। उस से मैं डिवाइस/एमुलेटर में सामग्री प्रदाताओं की सूची देख सकता हूं।
List<ProviderInfo> providers = getContext().getPackageManager()
.queryContentProviders(null, 0, 0);
इस डिवाइस पर आपके लिए उपलब्ध सभी सामग्री प्रदाताओं को सूचीबद्ध करता है।
या, यदि आप प्रदाता का प्रक्रिया नाम और यूआईडी जानते हैं, तो आप उन दो पैरामीटर निर्दिष्ट करके सूची को कम कर सकते हैं। मैं इस का इस्तेमाल किया है और विशेष रूप से मेरी खुद सामग्री प्रदाताओं के अस्तित्व की जाँच करने से पहले पिछले (मुक्त बनाम भुगतान) के उन प्रतिष्ठानों:
List<ProviderInfo> providers = getContext().getPackageManager()
.queryContentProviders("com.mypackage", Process.myUid(), 0);
नोट android.os.Process.myUid()
अपने ही प्रक्रिया के उपयोगकर्ता आईडी प्राप्त करने के लिए।
कमांड लाइन से, चलाएँ:
adb shell dumpsys | grep Provider{
नोट उद्घाटन ब्रेस। यह आपको विभिन्न पैकेजों के माध्यम से स्थापित सभी प्रदाताओं की एक छोटी सूची देगा।
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. सामग्री प्रदाता
- 2. सामग्री प्रदाता
- 3. सामग्री प्रदाता
- 4. सामग्री प्रदाता उदाहरण SQLite
- 5. Content_URI सामग्री प्रदाता
- 6. एक सामग्री प्रदाता
- 7. सामग्री प्रदाता यूआरआई matcher
- 8. सामग्री प्रदाता और सामग्री पर्यवेक्षक उदाहरण?
- 9. एंड्रॉइड। सामग्री प्रदाता या डेटाबेस?
- 10. एंड्रॉइड सामग्री प्रदाता योग क्वेरी
- 11. एंड्रॉइड - एसएमएस सामग्री प्रदाता पूछताछ?
- 12. "सामग्री-प्रदाता" और "SQLite डेटाबेस"
- 13. सिंक एडाप्टर और सामग्री प्रदाता
- 14. वेब प्रदाता से परिणाम लाने के लिए सामग्री प्रदाता?
- 15. सामग्री प्रदाता INSTALL_FAILED_CONFLICTING_PROVIDER (सामग्री प्रदाता को एक अलग एपीके के रूप में स्थापित करना)
- 16. एकाधिक सामग्री प्रदाता के लिए कर्सर लोडर
- 17. थ्रेड-सुरक्षित सामग्री प्रदाता कैसे बनाएं?
- 18. सामग्री प्रदाता और अनुक्रमिक डेटाबेस पहुंच
- 19. Android में कस्टम सामग्री प्रदाता का परीक्षण
- 20. सेवाओं के साथ एंड्रॉइड सामग्री प्रदाता
- 21. एंड्रॉइड, लाइब्रेरी प्रोजेक्ट में सामग्री प्रदाता
- 22. एंड्रॉइड सामग्री प्रदाता क्वेरी खंड में
- 23. मैं सामग्री प्रदाता को कैसे प्रारंभ करूं?
- 24. सामग्री प्रदाता ग्रिड सेल क्यों भरता नहीं है?
- 25. उपभोक्ता को ओपनआईडी प्रदाता क्या व्यक्तिगत जानकारी उपलब्ध कराता है?
- 26. मॉड्यूल.कॉन्फिग में कौन से प्रदाता/सेवाएं उपलब्ध हैं?
- 27. एंड्रॉइड: सर्वोत्तम उपलब्ध प्रदाता से वर्तमान स्थान प्राप्त करें
- 28. सामग्री प्रदाता डेटा और सिंक्रनाइज़ेशन क्षेत्र में दिखाई नहीं देगा
- 29. एक सामग्री प्रदाता के माध्यम से बाइनरी ब्लॉब पास करना
- 30. SQLite और एकाधिक तालिकाओं के साथ स्वयं सामग्री प्रदाता
आप 'कमांड लाइन जो सक्रिय डिवाइस के बारे में जानकारी का एक * टन * डंप हो जाएगा प्रत्येक पैकेज और सब कुछ वे प्रदान के बारे में जानकारी का भार भी शामिल है, से एडीबी bugreport' चला सकते हैं: गतिविधियों, सेवाओं, सामग्री प्रदाताओं। .. –
[एंड्रॉइड सामग्री प्रदाता सूची] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1187541/android-content-provider-list) – richq