[英]How to change android application name and icon at runtime?
安裝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
}
在清單文件中...
<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>
當我運行此代碼時,最初將出現第一個圖標(在抽屜中以及在操作欄中),然后在我關閉應用程序並重新運行它之后,它將切換到另一個圖標。
我想要做的是,將此過程分配給一個按鈕,即如果我僅按下該按鈕,圖標將更改,否則更改。 我該如何實現?
現在,您可以使用PackageManager更改活動了,只需創建一個按鈕並將代碼放入OnClick中即可。
如果這行得通,那就應該這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.