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

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • Pocketnow

    Pocketnow

    14 EKİM 2007