如何在运行时更改android应用程序名称和图标? [英] How to change android application name and icon at runtime?

查看:149
本文介绍了如何在运行时更改android应用程序名称和图标?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

安装Android应用后,当您按下应用中的按钮时,是否可以动态更改应用图标和动态名称(在运行时)?

After installing an android app, is it possible to change app icon and name dynamically(at runtime) when you press a button in the app?

这是迄今为止的代码..

This is the code so far..,

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>

当我运行此代码时,首先会出现第一个图标(在抽屉中,还有在操作栏中)然后在关闭应用程序并重新运行该应用程序后,它将切换到另一个图标。

When I run this code, initially first icon will appear (in drawer and also in action bar) and then after I close the app and re-run it, it will switch to the other icon.

我想要做的是将此过程分配给按钮,是如果我只按那个按钮,图标会改变,否则不行。
如何实现这个?

What I want to do is, assign this procedure to a button, that is if I only press that button, icon will change, otherwise no. How can I achieve this??

推荐答案

现在,您可以使用PackageManager更改活动创建一个按钮并将代码放在OnClick中。

Now that you're able to change the activity using PackageManager, just Create a button and put the code in it's OnClick.

如果这样工作,那么应该这样。

If this is working, so should that.

这篇关于如何在运行时更改android应用程序名称和图标?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆