安装
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中.
如果这是有效的,那也应该如此.