画廊图像选择意图返回null在Android 11及更高版本上
尝试从画廊中挑选图像时,我的意图数据无效。 我应该进行什么更改,以便代码正常工作。
我的选择图像代码如下:
`
fun pickimage(requestCode: Int){
val pickIntent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
pickIntent.type = "image/*"
try {
startActivityForResult(pickIntent,requestCode)
}
catch (e:Exception){
Toast.makeText(requireContext(),requireContext().resources.getString(R.string.error) ,
Toast.LENGTH_LONG).show()
}
}
OnActivityResult()
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == REQUEST_IMAGE_GET && resultCode == Activity.RESULT_OK) {
data?.data?.let { fullPhotoUri ->
fullPhotoUri.toBytes(viewModel.contentResolver)?.takeIf { it.isNotEmpty() }?.also {
file.loadByteArray(it)
viewModel.onImageSelected { file }
}
}
}
}
权限
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
I'm getting intent data null when trying to pick image from gallery.
What changes shall I make so the code work correctly.
My pick image code is as following:
`
fun pickimage(requestCode: Int){
val pickIntent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
pickIntent.type = "image/*"
try {
startActivityForResult(pickIntent,requestCode)
}
catch (e:Exception){
Toast.makeText(requireContext(),requireContext().resources.getString(R.string.error) ,
Toast.LENGTH_LONG).show()
}
}
onActivityResult()
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == REQUEST_IMAGE_GET && resultCode == Activity.RESULT_OK) {
data?.data?.let { fullPhotoUri ->
fullPhotoUri.toBytes(viewModel.contentResolver)?.takeIf { it.isNotEmpty() }?.also {
file.loadByteArray(it)
viewModel.onImageSelected { file }
}
}
}
}
permissions
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论