activity-alias 的使用及若干问题
创始人
2024-05-29 16:59:32
0

参考资料 Android动态修改桌面logo和名称activity-alias的使用

Activity class {com.***Activity} does not exist._倒骑驴走着瞧的博客-CSDN博客

目录

一、使用方法

步骤1、 在AndroidManifest.xml 中添加以下代码

步骤2、代码控制切换 

二、 注意点

1、android:enabled="false"

 2、当前标签在AndroidManifest.xml 的注册位置一定要在目标activity( android:targetActivity="")之后.

3、 android:launchMode 启动模式根据项目中的实际情况而定。singleTask会出现app从后台返回后跑到了首页或者某个主页,一般singleTop就行,或者用默认启动方式

4、尽量所有别名都判断到,不使用的入口用下面代码隐藏了,防止出现多个图标

5、被关闭的入口(activity以及相对的别名),不能再直接启动,否则会报错


一、使用方法

步骤1、 在AndroidManifest.xml 中添加以下代码

 
...



...

       

步骤2、代码控制切换 

 public void change(){
//假设活动结束了,要恢复默认的图标,需要运行以下代码int state = mainApplication.getPackageManager().getComponentEnabledSetting(new ComponentName(MainApplication.getAppContext(), getPackageName() + ".default"));int newYearState = mainApplication.getPackageManager().getComponentEnabledSetting(new ComponentName(MainApplication.getAppContext(), getPackageName() + ".newyear"));//切换桌面APP iconif (PackageManager.COMPONENT_ENABLED_STATE_ENABLED != state ) {updateAlias(true, new ComponentName(MainApplication.getAppContext(), getPackageName() + ".default"));}if (PackageManager.COMPONENT_ENABLED_STATE_ENABLED == newYearState)updateAlias(false, new ComponentName(MainApplication.getAppContext(), getPackageName() + ".newyear"));
}/*** 更新别名显示** @param componentName componentName* @param enable        是否启用* @return 是否需要重启*/private boolean updateAlias(Boolean enable, ComponentName componentName) {int statue = MainApplication.getAppContext().getPackageManager().getComponentEnabledSetting(componentName);LogUtil.I("AppHomeActivity", "statue=" + statue);boolean componmentNameIsThis = false;if (enable && statue == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {componmentNameIsThis = true;}int newState;if (enable) {newState = PackageManager.COMPONENT_ENABLED_STATE_ENABLED;} else {newState = PackageManager.COMPONENT_ENABLED_STATE_DISABLED;}MainApplication.getAppContext().getPackageManager().setComponentEnabledSetting(componentName, newState, PackageManager.DONT_KILL_APP);return componmentNameIsThis;}

二、 注意点

1、android:enabled="false"

        默认标签中设置为true,其他所有标签,包括目标activity设置false,新图标的启动在代码中控制,之后发版不要轻易删除别名列表,否则覆盖安装时,当前展示的别名图标被删除了会引发找不到activity崩溃

 2、当前标签在AndroidManifest.xml 的注册位置一定要在目标activity( android:targetActivity="")之后.

3、 android:launchMode 启动模式根据项目中的实际情况而定。singleTask会出现app从后台返回后跑到了首页或者某个主页,一般singleTop就行,或者用默认启动方式

4、尽量所有别名都判断到,不使用的入口用下面代码隐藏了,防止出现多个图标

 updateAlias(false, new ComponentName(MainApplication.getAppContext(), name));

5、被关闭的入口(activity以及相对的别名),不能再直接启动,否则会报错

android.content.ActivityNotFoundException: Unable to find explicit activity class

需要通过设置intent.setComponent 来启动被禁止的activity,例如 :假设别名“default”是显示启用状态, 通过以下方式可以正常启动

Intent intent = new Intent();
intent.setComponent(“default”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

相关内容

热门资讯

安卓高系统怎么用美化,打造专属... 亲爱的安卓用户们,你是不是也和我一样,对手机系统美化情有独钟呢?想要让你的安卓手机焕然一新,变得个性...
安卓系统怎么开夜间模式,安卓系... 亲爱的手机控们,你是不是在夜晚使用安卓手机时,眼睛感到有些不适?别担心,今天我要给你揭秘一个超级实用...
王者安卓系统用苹果人脸,一场视... 你知道吗?最近在手机圈里可是掀起了一股不小的波澜呢!那就是王者安卓系统竟然用上了苹果人脸识别技术!是...
安卓444怎么升级系统,轻松迈... 你那安卓444的小家伙是不是已经有点儿落伍了?别急,今天就来给你详细说说怎么给它来个系统升级,让它焕...
安卓系统raw修图软件,探索安... 你有没有发现,手机拍照越来越方便了,但有时候拍出来的照片还是不够完美呢?别急,今天就来给你安利几款安...
安卓系统的王者切换苹果,从安卓... 你知道吗?最近身边的朋友圈里掀起了一股热潮,那就是安卓系统的王者们纷纷切换到苹果阵营。这可真是让人大...
安卓用按钮退出系统,Andro... 你有没有发现,现在用安卓手机的时候,退出系统的方式好像有点变化呢?是不是有时候按了按钮,系统还是纹丝...
安卓系统怎么删除相机,安卓系统... 手机里的照片越来越多,是不是感觉相机里都快装不下你的美好回忆了?别急,今天就来教你怎么轻松地在安卓系...
安卓双系统点歌机系统包,打造智... 你有没有想过,在安卓双系统点歌机里,那些美妙的音乐是如何被唤醒的呢?今天,就让我带你一探究竟,揭开安...
安卓不卡顿的系统,安卓系统不卡... 你有没有想过,为什么有些安卓手机用起来就是那么流畅,而有些却总是卡卡卡个不停?今天,就让我带你一探究...
鸿蒙系统切换安卓死机,系统兼容... 最近手机界可是热闹非凡呢!听说华为的新操作系统鸿蒙系统上线了,不少小伙伴都跃跃欲试,想要体验一下这个...
系统能被卸载吗安卓,卸载与优化... 你有没有想过,你的安卓手机里的系统,是不是也能像卸载一个APP那样简单呢?今天,就让我带你一探究竟,...
安卓永远超不过苹果系统,谁将永... 你有没有想过,为什么安卓手机再怎么努力,好像永远都追不上苹果系统的光芒呢?这背后,可是有着不少门道呢...
安卓系统手机位置共享,探索安卓... 你有没有想过,当你的朋友突然告诉你:“我快到你了,你定位一下我哦!”这时,你的安卓手机位置共享功能就...
安卓系统怎么添加表情包,表情包... 你是不是也和我一样,手机里收藏了超多搞笑的表情包,想要在聊天的时候分享给朋友,但又不知道怎么在安卓系...
安卓变黑鲨系统下载,深度解析系... 你有没有发现,你的安卓手机最近有点儿不一样了?是不是觉得屏幕上的图标变得酷炫了,操作起来也更加流畅了...
windows平板如何装安卓系... 亲爱的电脑迷们,你是否曾梦想过在你的Windows平板上体验安卓系统的流畅与丰富应用?别再羡慕那些安...
鸿蒙系统如何恢复到安卓系统中,... 你是不是也和我一样,对鸿蒙系统到安卓系统的转换感到好奇呢?听说最近很多人都在尝试将手机从鸿蒙系统切换...
苹果手机升级安卓系统,探索安卓... 你有没有想过,如果有一天苹果手机突然宣布要升级成安卓系统,那会是怎样的景象呢?想象那些习惯了iOS操...
iphone能不能安卓系统,探... 最近手机圈可是热闹非凡呢!不少朋友都在问我:“iPhone能不能用安卓系统?”这个问题,真是让人头都...