2011-01-12 16 views
19

इस ऐप में मैं विकसित कर रहा हूं मुझे फोन पर पहले से इंस्टॉल किया गया एक और ऐप लोड/कॉल करने की आवश्यकता है। यह केवल मेरे व्यक्तिगत उपयोग के लिए एक आवेदन है, इसलिए यह जांचने की कोई आवश्यकता नहीं है कि अन्य ऐप इंस्टॉल है या नहीं - मुझे पता है कि यह है।किसी अन्य ऐप से एक ऐप को कॉल करना

मैंने इस समस्या को घंटों तक गुमराह किया है, लेकिन मुझे कुछ भी काम नहीं मिल रहा है। अधिकतर क्योंकि पैकेज नाम और कक्षा का नाम खोजने के लिए दिशानिर्देश वास्तव में खराब हैं।

cmd और एशियाई विकास बैंक मुझे लगता है कि मैं कॉल करना चाहते हैं आवेदन के संबंध में जानकारी है ढूँढने में सक्षम था वाया: पैकेज: /data/app/com.soundcloud.android-1.apk=com.soundcloud.android (कि वास्तव में क्या यह cmd विंडो में कहा है।)

मैं कुछ इस तरह की कोशिश की:

Intent i = new Intent(); 
i.setClassName("/data/app/com.soundcloud.android-1.apk", "com.soundcloud.android"); 
startActivity(i); 

लेकिन मेरे एप्लिकेशन सिर्फ बजाय दुर्घटनाओं। मैंने उपर्युक्त कोड का उपयोग किया क्योंकि किसी ने कहा था कि यह ऐप कह सकता है:

Intent i = new Intent(); 
i.setClassName("<package_name>","<Class Name(with package name)>"); 
startActivity(i); 

क्या किसी को वास्तव में क्या लिखना है?

पीएस .: मेरे स्वयं के ऐप को कॉल किए गए ऐप में क्या हो रहा है इसके बारे में किसी भी जानकारी की आवश्यकता नहीं है।

+0

आपके बारे में क्या समझ में नहीं आता? i.setClassName ("", "<वर्ग का नाम (पैकेज नाम के साथ)>"); ? – Falmarri

+0

मुझे नहीं पता कि उन प्रत्येक पैरामीटर में क्या रखा जाए। या अगर यह इस तरह से भी काम करेगा। – eightx2

उत्तर

36

PackageManager का प्रयोग करें पैकेज के लिए एक आशय पाने के लिए:

PackageManager pm = getPackageManager(); 
Intent intent = pm.getLaunchIntentForPackage("com.example.package"); 
startActivity(intent); 
+1

बहुत बहुत धन्यवाद, मैंने पैकेजमैनेजर विकल्प का उपयोग किया, एक आकर्षण की तरह काम करता है! – eightx2

+0

पैकेज मैनेजर काम कर रहा है, लेकिन इरादा काम नहीं कर रहा है – DAS

+0

पैकेज मैनेजर ठीक काम कर रहा है ..... – naresh

1

प्रलेखन here है।

मुझे लगता है कि आपके उदाहरण में com.soundcloud.android वास्तव में पैकेज का नाम है, इसलिए यह पहला तर्क होना चाहिए। दूसरे के लिए, आपको अभी भी कक्षा का उपयोग करने की आवश्यकता है।

यदि आपके पास कोड नहीं है, तो आप this के साथ एपीके से कक्षा को कैसे ढूंढें, यह जांच सकते हैं।

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