18034727885
2026-04-14 370014cbb9ec1ef64e7e42bb4f9a12671461d8e4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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)
    }
}