为什么jetpack compose中没有显示权限窗口?

问题描述 投票:0回答:1

我一直在与人工智能合作来获取显示的权限窗口,但是当我按下按钮时没有任何显示。这是我们想出的代码


class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        var permissionGranted = false

        setContent {
            PermissionsTheme {
                // A surface container using the 'background' color from the theme
                val permissionLauncher = rememberLauncherForActivityResult(
                    contract = ActivityResultContracts.RequestPermission() // Specify single permission request
                ) { result ->
                    permissionGranted = result
                    // Update UI based on permission result directly within the lambda
                }
                Button(onClick = {
                    permissionLauncher.launch(Manifest.permission.INTERNET)
                }) {
                    Text(text = "Request Internet Permission")
                }

                // UI will update immediately after permission dialog closes
                if (permissionGranted) {
                    Text(text = "Allowed")
                } else {
                    Text(text = "Denied")
                }
            }
        }
    }
}

和清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.INTERNET" />
    

    <application

我构建了很多使用权限的小应用程序,但我总是遇到问题。我一直在关注有关权限的教程,我已经阅读了有关权限的 Android 开发人员指南。我深入研究了人工智能许可流程的每一条语句,我要求人工智能为我编写一个基本的许可应用程序,但我就是无法让它工作。我做错了什么?

kotlin android-jetpack-compose android-permissions
1个回答
0
投票

android.permission.INTERNET 是安装时权限,而不是运行时权限。这记录在developer.android 上的连接到网络文档中。

我在这里找到了一个关于使用 Jetpack Compose 请求权限的非常简洁的教程,它可以更好地解释该过程。

© www.soinside.com 2019 - 2024. All rights reserved.