动态更改应用桌面图标
2017-12-04 15:44
260 查看
基础部分:
activity-alias:可以用于创建多个不同的入口
android:enabled:默认为 true,创建多个入口时,先修改为 false。
android:icon:应用图标
android:label:应用名称
android:name:activity-alias 的别名
android:targetActivity:入口目标 Activity
android.intent.action.MAIN:决定最先启动的 Activity
android.intent.category.LAUNCHER:决定应用是否在显示在程序列表中
实际应用:
MainActivity
Manifesr.xml
参考文章 “ 徐宜生 Android群英传 “
activity-alias:可以用于创建多个不同的入口
android:enabled:默认为 true,创建多个入口时,先修改为 false。
android:icon:应用图标
android:label:应用名称
android:name:activity-alias 的别名
android:targetActivity:入口目标 Activity
android.intent.action.MAIN:决定最先启动的 Activity
android.intent.category.LAUNCHER:决定应用是否在显示在程序列表中
实际应用:
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btn_change11; private Button btn_change22; private ComponentName mChange11; private ComponentName mChange22; private ComponentName mDefault; private PackageManager packageManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化布局 initView(); //初始化ComponentName initChange(); } private void initChange() { mDefault=getComponentName(); //注意new ComponentName 时填写 activity-alias 的别名时需要加上包名 mChange11=new ComponentName(getBaseContext(),"com.test.change_icon.change11"); mChange22=new ComponentName(getBaseContext(),"com.test.change_icon.change22"); packageManager=getApplicationContext().getPackageManager(); } private void initView() { btn_change11=findViewById(R.id.btn_change11); btn_change22=findViewById(R.id.btn_change22); btn_change11.setOnClickListener(this); btn_change22.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.btn_change11: changeIcon11(); break; case R.id.btn_change22: changeIcon22(); break; default: break; } } private void changeIcon22() { disableComponent(mDefault); disableComponent(mChange11); enableComponent(mChange22); } private void changeIcon11() { disableComponent(mDefault); disableComponent(mChange22); enableComponent(mChange11); } private void enableComponent(ComponentName componentName) { packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP); } private void disableComponent(ComponentName componentName) { packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP); } }
Manifesr.xml
<application android:allowBackup="true" android:icon="@drawable/s3" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity-alias android:name=".default" android:enabled="false" android:icon="@drawable/s1" android:label="@string/app_name" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias> <activity-alias android:name=".change11" android:enabled="false" android:icon="@drawable/s1" android:label="更换图标1" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias> <activity-alias android:name=".change22" android:enabled="false" android:icon="@drawable/s2" android:label="更换图标2" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias> </application>
参考文章 “ 徐宜生 Android群英传 “
相关文章推荐
- 怎么更改win7登录界面 梦幻桌面动态效果电脑桌面快速分屏设置虚拟wifi热点方法_桌面图标弹出提示飞雪桌面日历自定义桌面
- Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)
- Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)
- Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)
- Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)方法一
- 实现桌面应用图标的动态隐藏和显示,触发事件为SIM卡的状态
- (4.6.25)Android动态更换应用Icon之玩转桌面图标
- 动态修改桌面应用图标
- Gradle编译生成不同的版本,动态设定应用标题 / 应用图标 / 替换常量
- Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒
- Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒
- iOS如何显示桌面应用图标上的推送消息数(大神勿进)
- ubuntu之再体验【美化】-- 更改桌面图标大小
- 为webapp应用制定IOS,Android桌面快捷图标
- android每次点击桌面图标应用重启的解决办法
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题的解决方法
- Android APP安装后不在桌面显示图标的应用场景举例和实现方法
- win7家庭版更改桌面图标
- 第一次安装后启动,到桌面点击图标,应用重新启动
- Android动态来改变App桌面图标