You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以编程方式将设备默认启动器重置为系统出厂默认设置?

编程切换回系统默认启动器的可行方案

你只调用clearPackagePreferredActivities仅会清除当前应用的偏好启动设置,不会主动为系统启动器配置默认处理权限,因此按下Home键时系统找不到匹配的默认启动器,自然会弹出选择弹窗。要实现目标效果,可参考以下适配不同系统版本的方案:


步骤1:获取系统默认启动器的包名

首先需要通过包管理器查询系统中支持HOME意图的应用,过滤掉自身应用后即可得到系统自带启动器的包名,示例代码如下:

fun getSystemLauncherPackageName(context: Context): String? {
    val homeIntent = Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)
    val resolveInfoList = context.packageManager.queryIntentActivities(homeIntent, PackageManager.MATCH_DEFAULT_ONLY)
    // 过滤自身应用,取第一个匹配项即为系统默认启动器
    for (info in resolveInfoList) {
        if (info.activityInfo.packageName != context.packageName) {
            return info.activityInfo.packageName
        }
    }
    return null
}

Java实现逻辑完全一致,仅语法存在差异。


步骤2:按系统版本适配切换逻辑

  • Android 9(API 28)及更低版本
    若你的应用持有android.permission.SET_PREFERRED_APPLICATIONS权限(该权限仅对系统预装应用、和系统签名一致的应用开放,普通第三方应用无法申请),可直接调用addPreferredActivity方法将系统启动器设置为HOME意图的默认处理方:
    val systemLauncherPkg = getSystemLauncherPackageName(context) ?: return
    val homeIntent = Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)
    val targetComponent = ComponentName(
        systemLauncherPkg, 
        homeIntent.resolveActivity(context.packageManager).className
    )
    val filter = IntentFilter(Intent.ACTION_MAIN).apply {
        addCategory(Intent.CATEGORY_HOME)
        addCategory(Intent.CATEGORY_DEFAULT)
    }
    context.packageManager.addPreferredActivity(
        filter, 
        IntentFilter.MATCH_CATEGORY_EMPTY, 
        arrayOf(targetComponent), 
        targetComponent
    )
    
  • Android 10(API 29)及更高版本
    系统已禁止第三方应用通过公开API直接修改默认应用配置,普通应用无法实现静默切换,只能引导用户手动到系统设置页完成修改:
    // 直接跳转系统默认启动器设置页面
    val intent = Intent(Settings.ACTION_HOME_SETTINGS)
    context.startActivity(intent)
    
    如果你的应用是系统预装机或持有系统签名,可以通过反射调用隐藏API完成静默设置,但该方案不兼容普通第三方应用场景。

注意事项

普通第三方应用如果没有系统级权限,无法实现绕过用户授权直接切换默认启动器的效果,所有声称可以实现该效果的非常规方案均不符合安卓权限管控规则,存在版本兼容性风险。

内容的提问来源于stack exchange,提问作者Aescaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:45:04