8
安裝了一個android應用程序後,當您按下應用程序中的按鈕時,是否可以動態更改應用程序圖標和名稱(在運行時)?如何在運行時更改android應用程序名稱和圖標?
這是到目前爲止的代碼..,
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.example.badgemaste", "com.example.badgemaste.MainActivity"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
try {
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.example.badgemaste", "com.example.badgemaste.MainActivity-One"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
} catch (Exception e) {
//handle
}
而且在manifest文件...
<application
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name2"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.badgemaste.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity-alias
android:icon="@drawable/ic_laun"
android:label="@string/app_name"
android:name="com.example.badgemaste.MainActivity-One"
android:enabled="true"
android:targetActivity="com.example.badgemaste.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
當我運行這段代碼,會出現最初第一個圖標(抽屜也在操作欄中),然後關閉應用程序並重新運行後,它將切換到其他圖標。
我想要做的是,將此過程分配給一個按鈕,即如果我只按下該按鈕,圖標將會改變,否則不會。 我該如何做到這一點?
https://stackoverflow.com/questions/17146728/how-to-change-app-icon-dynamically-in-android?answertab=active#tab-top –