Android 10
以上就很简单,直接使用MediaStore
抓到图片路径,然後送给图片剪裁就好
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val selection = "${MediaStore.Images.ImageColumns.DISPLAY_NAME} = '$pictureName'"
val orderBy = "${MediaStore.Images.ImageColumns.DATE_ADDED} DESC"
val uriQuery = contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null,
selection,
null,
orderBy
) ?: return@registerForActivityResult
uriQuery.moveToFirst()
val pictureId =
uriQuery.getLong(uriQuery.getColumnIndex(MediaStore.Images.ImageColumns._ID))
val pictureUri = ContentUris.withAppendedId(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
pictureId
)
val contentValue = ContentValues().apply {
this.put(MediaStore.Images.ImageColumns.DISPLAY_NAME, cropPictureName)
this.put(MediaStore.Images.ImageColumns.MIME_TYPE, "image/jpeg")
this.put(
MediaStore.Images.ImageColumns.RELATIVE_PATH,
"${Environment.DIRECTORY_PICTURES}/AndroidSystem"
)
}
val cropUri = contentResolver.insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
contentValue
)
intent.setDataAndType(pictureUri, "image/*")
intent.putExtra(MediaStore.EXTRA_OUTPUT, cropUri)
cropPictureResultLauncher.launch(intent)
return@registerForActivityResult
}
前言 昨天连滚带爬的走出了 interrupt的泥淖,希望之後能够有空把他弄得更清楚,今天要讲的东西...
说总结前再简单复习Promise、 Async、 生成器 Promise new promise的c...
Photo on charlesproxy.com 前言 前几周分别介绍了 ...
接下来我们就可以制作一个myflower的object 去制作一个绽放花点的设定 Learp 使用 ...
DAY7 MongoDB 资料更新(Update) 更新(update) 资料更新(Update)如...