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

  • aki6336

    aki6336

    14 AĞUSTOS 2008
  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • tunez4you

    tunez4you

    20 EKİM 2008