美文网首页
android修改默认桌面程序

android修改默认桌面程序

作者: Tenny1225 | 来源:发表于2016-01-15 17:37 被阅读3757次

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

<activity
            android:name="com.beanpai.uu.activity.FakeHome"
            android:enabled="false"
            >
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.HOME" />
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

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修改默认桌面程序

      本文链接:https://www.haomeiwen.com/subject/cguhkttx.html