Возможно, этот вопрос является избыточным, но предложенные здесь решения не помогли решить мои.
Я новичок в разработке для Android, и я пытаюсь использовать намерение камеры записать видео в своем приложении. Я использовал коды в руководстве разработчика Android
https://developer.android.com/training/camera/videobasics
во-первых, я столкнулся (onActivityResult ничего не переопределяет), здесь я обнаружил, что должен проверить Intent, если он может быть пустым, это решило неотразимую проблему, но вызвало сбой приложения.
и да, я поместил пользовательскую функцию в файл манифеста.
Какие-нибудь решения?
import android.content.Intent
import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.provider.MediaStore
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
val REQUEST_VIDEO_CAPTURE = 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_record.setOnClickListener {
Toast.makeText(this, "start recording", Toast.LENGTH_SHORT).show()
Intent(MediaStore.ACTION_VIDEO_CAPTURE).also { takeVideoIntent ->
takeVideoIntent.resolveActivity(packageManager)?.also {
startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE)
}
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
val videoUri: Uri = intent!!.data
videoView.setVideoURI(videoUri)
}
}
}