2010-03-25 12 views
6

मैं अपना आवेदन (एबीसी) प्रकाशित करना चाहता हूं। यह एक ऑडियोबुक फ़ाइल (उदाहरण के लिए।) एपीके के रूप में लपेटा गया है। जब उपयोगकर्ता इस एप्लिकेशन को इंस्टॉल करता है तो उसे यह जांचने की आवश्यकता होती है कि कोई अन्य एप्लिकेशन (XYZ) पहले से इंस्टॉल है या नहीं। यदि उपयोगकर्ता को यह नहीं पता कि उन्हें एबीसी इंस्टॉल करने से पहले एप्लिकेशन XYZ को इंस्टॉल करना है।स्थापना के दौरान निर्भर अनुप्रयोग के लिए एंड्रॉइड जांच?

अग्रिम धन्यवाद

राजेश

उत्तर

18

क्या आप जानते एप्लिकेशन के पैकेज का नाम क्या आप एक आवेदन के अस्तित्व के लिए परीक्षण करने के लिए PackageManager उपयोग कर सकते हैं के लिए देख रहे हैं।

try{ 
    ApplicationInfo info = getPackageManager() 
          .getApplicationInfo("com.myproject", 0); 
    //-- application exists 
    } catch(PackageManager.NameNotFoundException e){ 
    //-- application doesn't exist 
} 
+1

मुझे नहीं लगता कि आप इसे "इंस्टॉल पर" कर सकते हैं। आपको पहली बार ऐप चलाने की पहली बार आवश्यकता होगी। –

+0

सही ... मुझे नहीं लगता कि इंस्टॉल पर यह कोड चलाना संभव है। उस ने कहा, आप स्थापित प्रक्रिया के दौरान क्या कार्रवाई कर सकते हैं? क्या किसी अन्य एप्लिकेशन के अस्तित्व की जांच करना बेहतर होगा जब पहली बार कोई वास्तव में आपका ऐप चलाएगा? – JeremyFromEarth

+6

"उस ने कहा, आप इंस्टॉल प्रक्रिया के दौरान क्या कदम उठा सकते हैं?" कुछ भी नहीं - उपयोगकर्ता के नियंत्रण में आपको नियंत्रण नहीं मिलता है, पहले आपके ऐप को लॉन्च करता है। "क्या किसी अन्य एप्लिकेशन के अस्तित्व की जांच करना बेहतर होगा जब पहली बार कोई वास्तव में आपका ऐप चलाए?" कोई विकल्प नहीं - यह एकमात्र वास्तविक विकल्प है। मैंने एपीके के लिए इस स्थिति से निपटने के लिए एक निर्भरता प्रणाली के लिए तर्क दिया है, और प्रतिक्रिया ... जबरदस्त है। – CommonsWare

2

मामले में XYZ एक साझा लाइब्रेरी है, तो आप सेट अप कर सकते हैं अपने आवेदन XYZ बिना एबीसी स्थापित करने उपयोगकर्ताओं को रोकने के लिए की एंड्रॉयड प्रकट। कहते हुए एबीसी, के AndroidManifest.xml अंदर तत्व का उपयोग करें:

<uses-library android:name="package name of XYZ" android:required="true" /> 

आशा इससे आपकी समस्या मदद करते हैं।

+1

क्या यह दृष्टिकोण उपयोगकर्ता को सूचित करता है कि ऐप इंस्टॉल नहीं किया जा सकता है क्योंकि इसे एक निर्भर ऐप की आवश्यकता है? यदि ऐसा है तो क्या यह उन्हें बाजार में ले जाता है? – Bear

+2

* उपयोग-पुस्तकालय * सेटिंग का प्रभाव यह है कि एप्लिकेशन को बाजार द्वारा फ़िल्टर किया जाएगा, इसलिए उपयोगकर्ता * एबीसी * * * XYZ * डिवाइस में पहले से इंस्टॉल नहीं होने पर एप्लिकेशन को देखने में सक्षम नहीं होगा: [ बाजार फ़िल्टर] (http://developer.android.com/guide/appendix/market-filters.html) – Livio

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