所以..。我有一个简单的项目,当点击一个按钮使用一个意图打开相机,拍照,如果用户按下“确定”将显示照片图像在一个ImageView,这是一个片段.
在一个按钮上,我调用相机意图并在image_uri变量中获得结果URI,因此我将这个图像放在ImageView对象中:
imageView.setImageURI(image_uri)现在,我想将此图像保存到内部/外部内存或图库中。我看到了很多答案,还有很多在线教程,说明你必须使用buildDrawingCache()方法,问题是,Android说这种方法在Java中是不推荐的。
那我该怎么做?
PS:我对Kotlin/Android开发非常陌生,所以我不知道我需要给你提供哪些参数。我正在使用Android 3.4.1,JRE: 1.8.0_152-release-1343-b01使用Windows 10
发布于 2019-06-20 02:45:06
如果你从相机的意图得到一个图像,你可以得到它的位图和保存到你的存储。
class MainActity : AppCompatActivity() {
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
//Get img from camera intent
val img: Bitmap? = intent?.extras?.get("data") as Bitmap?
img?.let { img ->
val root = Environment.getExternalStorageDirectory().absolutePath
val imgFile = = File(root, "myImg.jpg")
img.compress(Bitmap.CompressFormat.JPEG, 90, FileOutputStream(imgFile))
//Alert gallery to update images
val intent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE).apply {
data = Uri.fromFile(imgFile)
}
this@MainActivity.sendBroadcast(intent)
}
}https://stackoverflow.com/questions/56678011
复制相似问题