安卓主流手机厂商打开Shortcut快捷方式设置页的方法
·
华为的快捷方式设置页第三方跳转不了
private fun startXiaoMiPermissionActivity(context: Context) {
val action = "com.miui.securitycenter"
val packageName = "miui.intent.action.APP_PERM_EDITOR"
try {
val xiaoMiIntent = Intent(action)
xiaoMiIntent.putExtra("extra_pkgname", context.getPackageName())
xiaoMiIntent.setClassName(
packageName,
"com.miui.permcenter.permissions.PermissionsEditorActivity"
)
context.startActivity(xiaoMiIntent)
} catch (e: ActivityNotFoundException) {
val xiaoMiIntent = Intent(action)
xiaoMiIntent.putExtra("extra_pkgname", context.packageName)
xiaoMiIntent.setClassName(
packageName,
"com.miui.permcenter.permissions.AppPermissionsEditorActivity"
)
context.startActivity(xiaoMiIntent)
}
}
private fun startVivoShortcutSettingActivity(context: Context) {
val localIntent: Intent
if (Build.MODEL.contains("Y85") && !Build.MODEL.contains("Y85A") || Build.MODEL.contains("vivo Y53L")) {
localIntent = Intent()
localIntent.setClassName(
"com.vivo.permissionmanager",
"com.vivo.permissionmanager.activity.PurviewTabActivity"
)
localIntent.putExtra("packagename", context.packageName)
localIntent.putExtra("tabId", "1")
context.startActivity(localIntent)
} else {
localIntent = Intent()
localIntent.setClassName(
"com.vivo.permissionmanager",
"com.vivo.permissionmanager.activity.SoftPermissionDetailActivity"
)
localIntent.action = "secure.intent.action.softPermissionDetail"
localIntent.putExtra("packagename", context.packageName)
context.startActivity(localIntent)
}
}
private fun startOppoShortcutSettingActivity(context: Context) {
val intent = Intent()
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
val comp =
ComponentName.unflattenFromString("com.oppo.launcher/.shortcut.ShortcutSettingsActivity")
intent.component = comp
context.startActivity(intent)
}
//调用
fun jumpToShortcutPermissionSetting(context: Context){
try {
when {
RomUtils.isXiaomi() -> {
startXiaoMiPermissionActivity(context)
}
RomUtils.isOppo() -> {
startOppoShortcutSettingActivity(context)
}
RomUtils.isVivo() -> {
startVivoShortcutSettingActivity(context)
}
else -> {
//谷歌官方提供的action,基本跳转不了
val intent = Intent()
intent.action = Settings.ACTION_QUICK_LAUNCH_SETTINGS
context.startActivity(intent)
}
}
} catch (e: Exception) {
val intent = Intent()
intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
intent.data = Uri.fromParts("package", Utils.getApp().packageName, null)
context.startActivity(intent)
}
}
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)