SORU
9 Temmuz 2009, PERŞEMBE


Nasıl bir uygulama simgesi Android programlı olarak değiştirmek için?

Uygulama simgesi doğrudan programın içinden değiştirmek mümkün müdür?
Ben, res\drawable klasör icon.png demek değiştirin.
Kullanıcılar launcher önceden seçilen simge görecek ki, bir dahaki sefere bu kadar programı uygulama simgesini değiştirmek için izin istiyorum.

CEVAP
6 Mart 2013, ÇARŞAMBA


Bu, benim için gayet iyi çalışıyor=) deneyin

1 . Ondan androidmanifest.xml, sil MainActivity bölümü, niyet-filtre bölümünde ANA kategorisi doğrultusunda değiştirin

<activity android:name="ru.quickmessage.pa.MainActivity"
    android:configChanges="keyboardHidden|orientation"
    android:screenOrientation="portrait"
    android:label="@string/app_name"
    android:theme="@style/CustomTheme"
    android:launchMode="singleTask">
    <intent-filter>
        ==> <action android:name="android.intent.action.MAIN" /> <== Delete this line
        <category android:name="android.intent.category.LAUNCHER" />//DELETE THIS LINE
    </intent-filter>
</activity>

2 . Simgelerin her biri için ** 6, oluşturun. Bu gibi

<activity-alias android:label="@string/app_name" 
    android:icon="@drawable/icon" 
    android:name=".MainActivity-Red"
    android:enabled="false"
    android:targetActivity=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>   
</activity-alias>

3 . Set programlı: uygun etkinliği-alias . öznitelik ETKİNLEŞTİR

 getPackageManager().setComponentEnabledSetting(
        new ComponentName("ru.quickmessage.pa", "ru.quickmessage.pa.MainActivity-Red"), 
            PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

Not, En az bir kez etkinleştirilmesi gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BioHunta

    BioHunta

    28 Mayıs 2006
  • ChannelRichard

    ChannelRicha

    7 Kasım 2008
  • Jonathan D.

    Jonathan D.

    3 Kasım 2006