Android隐藏Icon,条件启动显示icon

隐藏Icon有3种方式,在Manifest中注册Activity时改为隐式启动Icon不会显示,但不会动态显示


                

                

                
            

第一种:隐式

 
也可以去掉Launch 但程序没有入口不能正常启动

第二种:也可以用代码方式隐藏

PackageManager p1 = getPackageManager();
			p1.setComponentEnabledSetting(getComponentName(),
					PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
					PackageManager.DONT_KILL_APP);

一样隐藏后程序就没法启动
第三种:在intent-file中设置data属性,这种貌似可以条件启动,但是一直没研究出来


最后解决方案:
设置两个主acitivy一个为程序外壳,一个为主要activity
Manifest配置:

            
                

                

            
        
        
            
                

                
            
        

主要activity,属性设为隐式即DEFAULT,外壳activity设为程序入口
外壳activity启动后跳到主要的acitivy
PackageManager p1 = getPackageManager();
			p1.setComponentEnabledSetting(getComponentName(),
					PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
					PackageManager.DONT_KILL_APP); 


主acitivy中条件判断Icon是否隐藏了

显示Icon:
PackageManager p1 = getPackageManager();
			p1.setComponentEnabledSetting(getComponentName(),
					PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
					PackageManager.DONT_KILL_APP);

 隐藏Icon:

PackageManager p1 = getPackageManager();
			p1.setComponentEnabledSetting(getComponentName(),
					PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
					PackageManager.DONT_KILL_APP); 



你可能感兴趣的:(Android)