也许这个问题是多余的,但是这里建议的解决方案并不能解决我的问题。
我是android开发的新手,我正在尝试使用相机意图在我的App中录制视频。我在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)
}
}
}
答案 0 :(得分:0)
您需要在声明此活动的AndroidManifest.xml文件中设置android:exported =“ true”。
v-model
答案 1 :(得分:0)
您的项目需要运行时权限才能访问摄像机。 由于它属于危险许可设置。 这是有关获取Camera和mic的运行时权限的文章。您可以使用您的项目。 https://pranaybhalerao.wordpress.com/2018/02/11/run-time-permission-in-androidkotlin/ 希望对您有所帮助。