2010-03-25 10 views
6

Başvurumu (ABC) yayınlamak istiyoruz. Onun bir sesli kitap dosyası (örneğin, sadece). Kullanıcı bu uygulamayı yüklediğinde, başka bir uygulamanın (XYZ) zaten yüklü olup olmadığını kontrol etmesi gerekir. Kullanıcının ABC'yi yüklemeden önce XYZ uygulamasını yüklemesi gerektiğini bilmesin. peşinAndroid, yükleme sırasında bağımlı uygulamayı kontrol ediyor mu?

Teşekkür

Rajesh

cevap

18

Eğer bir uygulamanın varlığını sınamak için PackageManager kullanabilirsiniz için uygulamanın paket adı aradığınız biliyorsan.

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

Bunu gerçi "yüklemek" yapabileceğini sanmıyorum. Uygulamayı ilk kez çalıştırdığınızda bunu yapmanız gerekecektir. –

+0

doğru ... Bu kodu kurulumda çalıştırmanın mümkün olduğunu düşünmüyorum. Bu, yükleme işlemi sırasında hangi eylemleri gerçekleştirebileceğinizi söyledi. Birisi uygulamanızı ilk kez çalıştırdığında başka bir uygulamanın varlığını kontrol etmek daha iyi olur mu? – JeremyFromEarth

+6

"Bu, yükleme işlemi sırasında hangi eylemleri gerçekleştirebileceğinizi söyledi?" Hiçbir şey - kullanıcının kontrolünü ilk kez uygulamanızı başlatmaz. "Birisi uygulamanızı ilk kez çalıştırdığında başka bir uygulamanın varlığını kontrol etmek daha iyi olur mu?" Seçim yok - bu tek gerçek seçenek. Bu durumla başa çıkabilmek için APK'ların bağımlılık sistemi olduğunu savundum ve yanıtı ... ezici oldu. – CommonsWare

2

durumda XYZ bir paylaşılan kütüphane, sen set-up olabilir XYZ olmadan ABC yüklemeden kullanıcıların önlemek için uygulamanın android bildirim. belirterek ABC ait AndroidManifest.xml eleman içinde kullanın:

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

Umut bu sorununuzu yardımcı olur.

+1

bu yaklaşım uygulaması yüklenemez kullanıcıyı bilgilendirmek mu? Öyleyse bunları pazara mı götürüyor? – Bear

+2

etkisi * kullanır-kütüphane * ayarı uygulama Market tarafından filtre edilir, böylece kullanıcı uygulamayı görmek mümkün olmayacaktır olmasıdır * ABC * * Eğer XYZ * zaten cihazda yüklü değil: [ Pazar Filtreleri] (http://developer.android.com/guide/appendix/market-filters.html) – Livio

İlgili konular