簡體   English   中英

如何在運行時更改android應用程序的名稱和圖標?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM