我有一个使用SD卡上的文件的应用程序,应用程序在手机启动时运行,并且很明显,当程序首次运行时无法访问该文件,因为它在SD卡可用之前开始工作.
是否有一个广播接收器,我可以用来判断SD卡准备好了吗?
更新
只是为了总结注册意图的答案:
IntentFilter filter = new IntentFilter (Intent.ACTION_MEDIA_MOUNTED);
filter.addDataScheme("file");
registerReceiver(this.mSDInfoReceiver, new IntentFilter(filter));
Run Code Online (Sandbox Code Playgroud)
并创建一个广播接收器来响应它:
private BroadcastReceiver mSDInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent) {
// Code to react to SD mounted goes here
}
};
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Android应用程序,需要查看用户存储的图像.问题是如果用户通过USB线安装了SD卡,我就无法读取磁盘上的图像列表.
有没有人知道如何判断usb是否已安装,以便我可以弹出一条消息通知用户它不起作用?
任何人都可以帮助解决这个问题
当我尝试该代码
File routesRoot = Environment.getExternalStorageDirectory();
if (!routesRoot.canWrite())
System.out.println("can't write root");
if (!routesRoot.canRead())
System.out.println("can't read root");
Run Code Online (Sandbox Code Playgroud)
当运行程序时都无法写/读
我已设置访问SD卡的权限是什么问题?