如何在运行时更改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.