110/18 - Android 7到Android 9图片剪裁

图片剪裁到了Android 7之後,改成使用FileProvider建立的uri,就是要把路径给FileProvider.getUriForFile()转换一下,但我一直卡在这边没成功,可惜

val sharedPreferences = getSharedPreferences(BaseConstants.ANDROID_SYSTEM, MODE_P
val pictureName = sharedPreferences.getString(BaseConstants.PICTURE_NAME, "") ?: 

val intent = Intent("com.android.camera.action.CROP").apply {
    this.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_REA
    this.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
    this.putExtra("crop", true)
    this.putExtra("return-data", false)
    this.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString())
    this.putExtra("scale", true)
}

val cropPictureName = "005_crop_${System.currentTimeMillis()}.jpg"

val phoneFile = File(
    Environment.getExternalStoragePublicDirectory("${Environment.DIRECTORY_PICTUR
    pictureName
)

val cropPhoneFile = File(
    Environment.getExternalStoragePublicDirectory("${Environment.DIRECTORY_PICTUR
    cropPictureName
)

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {

    val pictureUri = getPictureUri(phoneFile)
    val cropUri = getPictureUri(cropPhoneFile)

    intent.setDataAndType(pictureUri, "image/*")
    intent.clipData = ClipData.newRawUri(MediaStore.EXTRA_OUTPUT, cropUri)
    intent.putExtra(MediaStore.EXTRA_OUTPUT, cropUri)
    Log.d("maho", "intent: $intent")
    cropPictureResultLauncher.launch(intent)
    return@registerForActivityResult
}

<<:  Day 18 — To Do List (5) 新增 To Do Event

>>:  Day33 ( 电子元件 ) 长条图显示土壤湿度

[Day 5] -『 GO语言学习笔记』- 宣告变数(variables)

以下笔记摘录自『 The Go Workshop 』。 宣告变数需满足四个条件: 宣告变数的叙述 变...

[NestJS 带你飞!] DAY18 - Lifecycle Hooks

什麽是 Lifecycle Hook? 在开始介绍之前,先来了解一下何谓 生命周期 (Lifecyc...

【第二一天 - Flutter Blue 蓝芽文件说明】

前言 官方套件使用范例 想带大家认识 Flutter Blue 套件 怎麽使用。 了解里面的参数。 ...

IT 铁人赛 k8s 入门30天 -- day22 k8s 资源管理工具 kustomize

前言 文件参考来源: https://kubernetes.io/docs/tasks/manage...

Outlook 2007常见问题 - 整理常被问到的案件

PST档单一档案20GB 超过或将近 , 造成开启无反应或者需时很久. 解决1:scanpst 修...