android 授予权限后不显示歌曲列表

irlmq6kh  于 2023-05-15  发布在  Android
关注(0)|答案(1)|浏览(112)

我正在制作一个音乐应用程序,并且已经给予了权限,权限对话框确实会出现,但问题是一旦我授予权限,歌曲就不会显示。
但是当我停止应用程序并重新打开它时,我可以看到显示的歌曲。
我想在给予权限后立即显示歌曲。如何实现

private var storagePermissions = arrayOf(READ_EXTERNAL_STORAGE)

@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
var storagePermissions13 = arrayOf(Manifest.permission.READ_MEDIA_AUDIO)

private fun permissionsHandler(): Array<String> {
    val p: Array<String> = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
        getMusicList()
        storagePermissions13
    } else {
        getMusicList()
        storagePermissions
    }
    return p
}
    
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
ActivityCompat.requestPermissions(activity!!,permissionsHandler(),1)
drnojrws

drnojrws1#

你可以尝试把getMusicList()放在onRequestPermissionsResult里面:

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    if (requestCode == REQUEST_STORAGE_PERMISSION) {
        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // Permission granted, update the song list here
        } else {
            // Permission denied, handle the error here
        }
    }
}

相关问题