在进行insert操作时,需要判断返回的Uri是否为空,如果为空则需要进行相应的处理。同时需要注意,对于Android Q及以上版本,如果应用具有MANAGE_EXTERNAL_STORAGE权限,那么可以通过参数isRelative来指定相对路径的方式进行访问。
代码示例:
Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); if (uri != null) { //成功插入数据 } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { if (Environment.isExternalStorageManager()) { uri = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY); uri = getContentResolver().insert(uri, values.build()); if (uri != null) { //成功插入数据 } else { //插入数据失败 } } else { //插入数据失败 } } else { //插入数据失败 } }