2010-11-01 14 views
9

Android uygulama listesinden bir uygulama simgesini gizlemenin bir yolu var mı? Uygulama Market'ten indirilmeli ve başvurumu yapılandırmak için bazı GUI açıldı. Uygulama listemdeki uygulamamın herhangi bir simgesini görmek istemiyorum. Kullanıcı bunu çalıştıramaz. Bir şekilde biliyorum arada Android uygulama listesinden bir uygulamayı gizleme

: tezahür kategori android:name="android.intent.category.LAUNCHER"

bu çizgiyi kaldırmak Ama GUI gösterilmez, çünkü benim için çalıştı değildir.

Çok teşekkürler!

cevap

4

Başlatıcı kategorisini kaldırmak doğrudur.

Etkinliği arayabilmek için amaç filtresine android.intent.category.DEFAULT eklemeyi deneyin.

2

Tekrar gösterim için teşekkürler. Uygulama simgesinden uygulama simgesini gizlemenin bir yolunu buldum;

PackageManager pm = getApplicationContext().getPackageManager(); 
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

Ama uygulamayı yeniden yüklemeyi zamanında

hata "Aktivite sınıf yok" oluşur ve bunu kaldırmadan uygulamayı yeniden mümkün değildir. .... sorun ne ?

Ayrıca Launcher Pro varyantı da vardır. Ama bu bir uygulamadır. Uygulamam Android Market'ten indirilmeli ve tüm kullanıcıların Launcher Pro'ya sahip olduğuna dair bir garanti verilmemelidir. Uygulama listesinden programlı olarak uygulama simgesini gizlemek istiyorum. PackageManager ile yöntem benim için çalışıyor ... ama yeniden yükleme ile ilgili bir sorun var. Uygulamayı Market'ten güncellemek istediğinizde önemlidir.

+0

Şimdi aynı gereksinim var. Çözümü bulduysanız lütfen paylaşın. – png

0

Uygulamayı yeniden yüklediğinizde bunun çalışması için bir yol buldum.

Amaç filtresi eylemiyle bir yayın alıcısı ekleme android.intent.action.PACKAGE_ADDED. alıcı için

ComponentName componentToEnable = new ComponentName(context, Your_disabled_class.class); 
PackageManager pm = context.getPackageManager(); 
pm.setComponentEnabledSetting(componentToEnable, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,       PackageManager.DONT_KILL_APP); 

Komple AndroidManifest.xml: Eğer engelli bileşeni etkinleştirmelisiniz onReceived yönteminde

<receiver android:name="PackageChangeReceiver"> 

<intent-filter> 
<action android:name="android.intent.action.PACKAGE_ADDED"/> 
<action android:name="android.intent.action.PACKAGE_REPLACED"/> 
<action android:name="android.intent.action.PACKAGE_REMOVED"/> 

<data android:scheme="package"/> 

</intent-filter> 
</receiver> 
İlgili konular