package com.xw.common.utils
|
|
import android.content.Context
|
import android.content.Intent
|
import android.net.Uri
|
import android.os.Build
|
import android.provider.Settings
|
|
object JumpPermissionManagement {
|
private const val MANUFACTURER_HUAWEI = "HUAWEI"
|
private const val MANUFACTURER_MEIZU = "Meizu"
|
private const val MANUFACTURER_XIAOMI = "Xiaomi"
|
private const val MANUFACTURER_OPPO = "OPPO"
|
private const val MANUFACTURER_VIVO = "vivo"
|
|
fun goPermissionSettings(context: Context) {
|
val manufacturer = Build.MANUFACTURER
|
val intent = Intent()
|
if (MANUFACTURER_HUAWEI.equals(manufacturer, ignoreCase = true)) {
|
intent.setClassName(
|
"com.huawei.systemmanager",
|
"com.huawei.permissionmanager.ui.MainActivity"
|
)
|
intent.putExtra("package", context.getPackageName())
|
} else if (MANUFACTURER_MEIZU.equals(manufacturer, ignoreCase = true)) {
|
intent.setAction("com.meizu.safe.security.SHOW_APP_SEC")
|
intent.addCategory(Intent.CATEGORY_DEFAULT)
|
intent.putExtra("packageName", context.getPackageName())
|
} else if (MANUFACTURER_XIAOMI.equals(manufacturer, ignoreCase = true)) {
|
intent.setAction("miui.intent.action.APP_PERM_EDITOR")
|
intent.putExtra("extra_pkgname", context.getPackageName())
|
} else if (MANUFACTURER_OPPO.equals(manufacturer, ignoreCase = true)) {
|
intent.setClassName(
|
"com.coloros.safecenter",
|
"com.coloros.safecenter.permission.singlepage.PermissionAppDetailActivity"
|
)
|
intent.putExtra("packagename", context.getPackageName())
|
} else if (MANUFACTURER_VIVO.equals(manufacturer, ignoreCase = true)) {
|
intent.setClassName(
|
"com.vivo.permissionmanager",
|
"com.vivo.permissionmanager.activity.SoftPermissionDetailActivity"
|
)
|
intent.putExtra("packagename", context.getPackageName())
|
} else {
|
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
|
val uri = Uri.fromParts("package", context.getPackageName(), null)
|
intent.setData(uri)
|
}
|
context.startActivity(intent)
|
}
|
}
|