要实现Android 13可以从外部SD卡读取任意文件,首先需要在AndroidManifest.xml文件中添加适当的权限:
接下来,可以使用以下代码示例来读取外部SD卡上的任意文件:
import android.os.Environment;
public class MainActivity extends AppCompatActivity {
private static final String FILE_PATH = "/sdcard/external_sd/your_file.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (isExternalStorageReadable()) {
readFileFromExternalSDCard();
} else {
// 外部SD卡不可读
}
}
private boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
return Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state);
}
private void readFileFromExternalSDCard() {
File file = new File(FILE_PATH);
if (file.exists()) {
try {
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line;
StringBuilder content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
}
br.close();
fis.close();
// 使用content中的文件内容
} catch (IOException e) {
e.printStackTrace();
}
} else {
// 文件不存在
}
}
}
注意,上述代码中的FILE_PATH
应该根据实际情况进行更改,以指定要读取的文件路径。