通过kotlin写的一个demo
所需权限(如果sdk是29及以上,都不需要写这个权限):
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
class MainActivity : AppCompatActivity() {
val REQUEST_IMAGE_CAPTURE = 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//申请存储权限,如果sdk小于29时需要权限申请,当大于29时,对于这种共享区写进去的操作放松了,所以可以不用申请
if (Build.VERSION.SDK_INT < 29 && ContextCompat.checkSelfPermission(
this,
Manifest.permission.WRITE_EXTERNAL_STORAGE
) != PackageManager.PERMISSION_GRANTED
) {
Toast.makeText(this,"未获取权限",Toast.LENGTH_SHORT).show()
requestPermissions(
arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE),
REQUEST_IMAGE_CAPTURE
)
}else<