2011-01-06 19 views
17

मैं अपने फोन पर स्थापित संकुल के लिए गतिविधि इरादा फ़िल्टर सूचीबद्ध करना चाहता हूं। यह सिर्फ एक सीखने के अनुभव के लिए है, मैं समझना चाहता हूं कि अंतर्निहित इरादों और इरादे फ़िल्टर कैसे स्थापित किए जाते हैं, इसके साथ कौन से ऐप्स शुरू किए जा सकते हैं।स्थापित संकुल के लिए सूची इरादा फ़िल्टर

Google http://developer.android.com/guide/appendix/g-app-intents.html पर प्रदान किए गए एप्लिकेशन के लिए एक टेबल प्रदान करता है। मैं अन्य अनुप्रयोगों के लिए एक समान सूची बनाने के लिए देख रहा हूँ।

क्या मैं पैकेज प्रबंधक का उपयोग कर सकता हूं और कोड को इस जानकारी में खोद सकता हूं? क्या किसी को मौजूदा ऐप के बारे में पता है जो यह कर सकता है? क्या कोई मुझे एक मौजूदा उदाहरण के लिए इंगित कर सकता है जो मैं चाहता हूं?

क्षमा अगर यह Listing an application's activity and intent-filters? और Android -- How to get a list of all available intent filters ?

उत्तर

13

की तरह इसी तरह के सवाल का डुप्लिकेट है AFAIK वहाँ सभी उद्देश्यों कि एक विशिष्ट अनुप्रयोग प्राप्त कर सकते हैं की सूची का कोई उपाय नहीं है। हालांकि, आप PackageManager की क्वेरीइन्टेंट एक्टिविटीज, क्वेरीइन्टेंट सर्विसेज, और क्वेरी ब्रॉडकास्ट रिसीवर का उपयोग करके यह देखने के लिए कि कौन से एप्लिकेशन इंस्टॉल किए गए हैं, उस उद्देश्य पर प्रतिक्रिया देंगे, आप कुछ इरादों को बनाकर समान (हालांकि विस्तार के रूप में नहीं) जानकारी प्राप्त कर सकते हैं।

10

मुझे ऐप "ManifestViewer" की अनुशंसा करने दें। यह प्रत्येक स्थापित ऐप के लिए इरादे सूचीबद्ध करता है। https://play.google.com/store/apps/details?id=jp.susatthi.ManifestViewer

एक अच्छा दिन है !!

+1

मैं इसे बाहर की जाँच करेंगे। धन्यवाद - https://market.android.com/details?id=uk.co.ashtonbrsc.android.intentintercept&feature=search_result –

+0

अंत में यह जांचने के लिए चारों ओर मिल गया। एक बार फिर धन्यवाद। –

+0

मुझे लगता है कि यह केवल कुछ सामान्य उद्देश्यों को सूचीबद्ध करता है, लेकिन उन ऐप्स पर नहीं जो ऐप्स पर उपयोग किए जाते हैं। –

1

नूगा 7.0 पर अपना Nexus 6 के साथ निम्न आदेश का उपयोग करते हुए मैं सभी उद्देश्यों की सूची मिल गया:

adb shell pm dump * | grep ' filter' | cut -d ' ' -f 12 | sort | uniq

  • पहले आदेश अपने डिवाइस में एक खोल खोलता है और हर की एक PackageManager डंप करता है पैकेज।
  • फिर आउटपुट grep पर आउटपुट जो केवल 'फ़िल्टर' शब्द के साथ लाइनों का चयन करता है।
  • फिर आउटपुट cut पर पाइप जो उस रेखा पर किसी भी रिक्त स्थान की 12 वीं स्थिति में पाया गया पाठ देता है।
  • फिर पाइप कि जो जेड
  • करने के लिए एक से उस सूची
  • पाइप uniq जो डुप्लिकेट इंटेंट अप को साफ करता है को सॉर्ट करता तो यह है कि उत्पादन sort को आउटपुट।

वाईएमएमवी - इन्हें एक समय में एक कोशिश करें। अगली पाइप जोड़ें जैसा कि आप चाहते हैं कि परिणाम देखें। सुनिश्चित नहीं है कि adb के पूर्व संस्करण आपको उदाहरण के लिए cut के लिए रिक्त स्थान की अलग-अलग संख्या देंगे।

और, यदि आप क्रोम की तरह सिर्फ एक पैकेज के लिए परिणाम चाहते थे आप इस्तेमाल कर सकते हैं:

adb shell pm dump com.android.chrome | grep ' filter' | cut -d ' ' -f 12 | sort | uniq

+0

अच्छा जवाब, लेकिन 'फ़िल्टर' भाग स्पष्ट नहीं था।आपको पूरे रास्ते को 'com.android.chrome /।' 'जैसे कुछ के साथ रखना होगा। – not2qubit

+1

मेरे एंड्रॉइड 4 सेटअप में कोई 'डंप' विकल्प नहीं है। 'dumpsys पैकेज आर 'इसके बजाय मेरे लिए काम किया। – eadmaster

संबंधित मुद्दे