如何在Android中动态添加自定义权限并在运行时请求

我想动态添加自定义权限,因为我想更改代码中的文本。 在清单中,我定义了权限树:

<permission-tree android:name="com.example.permission" >
    </permission-tree>

在片段中,我动态添加权限:

val pm: PackageManager = requireactivity().packageManager
        val permission: PermissionInfo = PermissionInfo()
        permission.name = "com.example.permission.TEST"
        permission.labelRes = R.string.app_name
        permission.descriptionRes = R.string.app_name
        permission.protectionLevel = PermissionInfo.PROTECTION_DANGEROUS
        pm.addPermission(permission)

        try
        {
            val info : PackageInfo = requireactivity().packageManager.getPackageInfo("com.example",PackageManager.GET_PERMISSIONS)
            val permissions = info.requestedPermissions
            requestPermissions( permissions,PERMISSIONS_REQUEST )
        }
        catch (e: PackageManager.NameNotFoundException)
        {
            e.printStackTrace()
        }

在try块中,我看到添加了我的自定义权限,但是尽管我将保护级别设置为“ PROTECTION_DANGEROUS”,但没有调用该对话框。也许问题是PermissionInfo中的保护级别设置器方法已被弃用? 能为我提供有关如何动态添加运行时权限和请求的建议,或指出我做错了什么地方。

预先感谢, 盔甲

mythsmilling 回答:如何在Android中动态添加自定义权限并在运行时请求

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3153330.html

大家都在问