在Android中,可以使用存储访问框架(Storage Access Framework,SAF)来加快文件删除的速度。下面是一个示例解决方法,包含使用SAF的代码示例:
private void deleteFileUsingSAF(Uri uri) {
ContentResolver contentResolver = getContentResolver();
// 删除文件
try {
contentResolver.delete(uri, null, null);
Toast.makeText(this, "文件删除成功", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(this, "文件删除失败", Toast.LENGTH_SHORT).show();
}
}
buttonDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
startActivityForResult(intent, REQUEST_CODE_DELETE_FILE);
}
});
onActivityResult
方法中处理返回的结果:@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_DELETE_FILE && resultCode == RESULT_OK) {
if (data != null) {
Uri uri = data.getData();
deleteFileUsingSAF(uri);
}
}
}
这是一个简单的示例,其中使用SAF来删除文件。在实际应用中,可能需要根据具体的需求进行适当的修改和处理。