android修改默认桌面程序

android在新安装桌面应用时,点击home键会弹出选择默认桌面程序的选择框,可是在用户点击总是时,下次在点击后就是打开默认启动器,可是我怎么修改这个默认的设置呢。
因为我们没有系统权限,难道只能跳到默认启动器中清除默认设置吗,答案否定的。
因为android扫描到新的launcher activity时,会清除掉旧的默认,所以只要我们动态的添加新的launcher activity时,系统会清除掉找个默认设置,下面时步骤。
1.在manifest中添加权限
2.设置一个空的activity 例如FakeHome,同时再manifest中添加


            
                
                
                
            
        

3.在代码中添加

     Context c =  this;
        PackageManager p = c.getPackageManager();
        ComponentName cN = new ComponentName(c, FakeHome.class);
        p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

        Intent selector = new Intent(Intent.ACTION_MAIN);
        selector.addCategory(Intent.CATEGORY_HOME);
        c.startActivity(selector);

        p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

此时就会让用户悬着默认的桌面程序

你可能感兴趣的:(android修改默认桌面程序)