File udiskDir = Environment.getExternalUDiskStorageDirectory();
String udiskDirStr = udiskDir.getAbsolutePath();
String state = Environment.getStorageState(udiskDir);
Log.i(TAG,udiskDirStr + " state: " + state);
if(Environment.MEDIA_MOUNTED.equals(state)){
Log.i(TAG, udiskDirStr + " mounted");
}
笨方法: 执行 df 判断
boolean udiskMounted = false;
{
String s = null;
try {
Log.d(TAG, "On RunCommand");
Process p = Runtime.getRuntime().exec("df");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
// read the output from the command
while ((s = stdInput.readLine()) != null) {
Log.d(TAG, "Read output: " +s);
if (s.contains(udiskDirStr)){
udiskMounted = true;
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
if ( !udiskMounted){
Toast.makeText(getActivity(), getString(R.string.log_msg_udisk_notok), Toast.LENGTH_LONG).show();
return;
}