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

Realme设备(ColorOS V12)通过Intent打开自启动权限的ComponentName咨询

解决Realme UI V3.0/ColorOS V12打开自启动权限设置的Intent组件问题

针对搭载Realme UI V3.0(基于ColorOS V12、Android 12)的Realme设备,正确打开自启动权限设置页面的Intent组件信息如下:

  • 包名:com.oplus.safe
  • 类名:com.oplus.safe.permission.startup.StartupAppListActivity

错误原因说明

你之前尝试使用的com.oplus.battery/com.oplus.powermanager.fuelgaue.PowerControlActivity属于系统内部未导出组件,第三方应用没有权限直接启动,因此会触发Permission Denial错误。

完整实现代码

val intent = Intent().apply {
    component = ComponentName("com.oplus.safe", "com.oplus.safe.permission.startup.StartupAppListActivity")
}

// 先判断Intent是否可解析,避免崩溃
val canResolve = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
    context.packageManager.queryIntentActivities(
        intent,
        PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY.toLong())
    ).isNotEmpty()
} else {
    @Suppress("DEPRECATION")
    context.packageManager.queryIntentActivities(intent, PackageManager.GET_META_DATA).isNotEmpty()
}

if (canResolve) {
    context.startActivity(intent)
} else {
    // 若组件不存在,可 fallback 到应用详情页
    val fallbackIntent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
        data = Uri.fromParts("package", context.packageName, null)
    }
    context.startActivity(fallbackIntent)
}

注意事项

  • 无需额外添加oplus.permission.OPLUS_COMPONENT_SAFE权限,启动该系统设置页面不需要特殊权限
  • 保留queryIntentActivities判断逻辑,可规避厂商版本差异导致的组件不存在问题
  • 若上述组件在部分Realme机型不生效,可尝试替换为Realme专属组件:com.realme.security/com.realme.security.permission.startup.StartupAppListActivity

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:36:11