2016-05-06 83 views
2

我已经看到其他Android应用程序有应用程序图标的选择,然后这些更改会立即反映在应用程序抽屉和主屏幕上。Android更改应用程序图标编程方式

这些应用程序如何改变这样的应用程序图标?

+2

的可能的复制[如何在Android的编程方式更改应用程序图标?](http://stackoverflow.com/questions/1103027/how-to-change-an-application-icon-以编程方式在Android) – cyroxis

回答

2

首先为每个分辨率准备新的应用程序图标,并将它们放入相应的mipmap文件夹中。

然后用活动的别名,例如,在你的AndroidManifest.xml,编辑这个:

<activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

    <activity-alias 
     android:name=".MainAliasActivity" 
     android:enabled="false" 
     android:icon="@mipmap/ic_launcher_fight" 
     android:label="Main Alias Activity" 
     android:targetActivity=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity-alias> 

,当你想改变你的应用程序图标

 PackageManager pm = getPackageManager(); 
     pm.setComponentEnabledSetting(
       getComponentName(), 
       PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
       PackageManager.DONT_KILL_APP); 
     pm.setComponentEnabledSetting(
       new ComponentName(this, "YOUR PACKAGE.MainAliasActivity"), 
       PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 
       PackageManager.DONT_KILL_APP); 

要重新添加以下代码应用程序图标,你可以使用相同的方式。

GitHub的项目here

+0

试过了,没有工作:( – CopsOnRoad

相关问题