Как назвать фотографию, когда я ее снимаю kotlin - PullRequest
0 голосов
/ 04 апреля 2020

Добрый день, у меня есть приложение в Kotlin, которое делает фотографию, помещает ее в изображение и сохраняет ее на телефоне, но с последовательным именем, а не с тем, которое я помещаю, я прилагаю код, который Я использую, спасибо за вашу помощь, есть также кнопка, которая открывает галерею, чтобы поместить изображение в просмотр изображений, но это не проблема, есть предоставленные разрешения, а также манифест, так что если вы сохраните фотографию с последовательно это означает, что если у вас есть разрешения, спасибо:

   private val REQUEST_CAMERA = 1002
   var foto: Uri? = null

   @RequiresApi(Build.VERSION_CODES.O)
   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_main)
       abreCamara_click()}

   private fun abreCamara_click() {
       btnCamara.setOnClickListener() {
           if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
               if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED
                   || checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED
               ) {
                   val permisosCamara = arrayOf(
                       Manifest.permission.CAMERA,
                       Manifest.permission.WRITE_EXTERNAL_STORAGE
                   )
                   requestPermissions(permisosCamara, REQUEST_CAMERA)
               } else
                   abreCamara()
           } else
               abreCamara()
       }
   }

   override fun onRequestPermissionsResult(
       requestCode: Int,
       permissions: Array<out String>,
       grantResults: IntArray
   ) {
       super.onRequestPermissionsResult(requestCode, permissions, grantResults)
       when(requestCode){
           REQUEST_CAMERA -> {
               if(grantResults[0] == PackageManager.PERMISSION_GRANTED)
                   abreCamara()
               else
                   Toast.makeText(applicationContext,"No se puede acceder a la cámara", Toast.LENGTH_SHORT).show()
           }
       }
   }

   private fun abreCamara(){
       val value = ContentValues()
       value.put(MediaStore.Images.Media.TITLE,"Nueva imagen")
       foto = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, value)
       val camaraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
       camaraIntent.putExtra(MediaStore. EXTRA_OUTPUT,foto)
       startActivityForResult(camaraIntent,REQUEST_CAMERA)
   }

   override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
       super.onActivityResult(requestCode, resultCode, data)
       if(resultCode==Activity.RESULT_OK && requestCode == REQUEST_CAMERA){
           imgFoto.setImageURI(foto)
       }
   }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...