在创建SD卡然后安装到模拟器并获得所需权限后,我正在尝试检查Sd卡是否可用。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
然后创建了一个名为chekSd的函数,它返回一个布尔值。一旦sdcard卸载,按钮就会被禁用。但是没有。我在这里做错了什么
boolean isSdavailableAndWriable=chekSd();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
save=(Button)findViewById(R.id.buttonSaveEx);
save.setEnabled(isSdavailableAndWriable);
}
private boolean chekSd() {
if( Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
if( !(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED_READ_ONLY))) {
return true;
}
}
return false;
}
答案 0 :(得分:0)
添加处理外部SD卡状态的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果你想获得外部SD卡等二级存储而不是使用
String secondaryStoragePath = System.getenv("SECONDARY_STORAGE");
if (secondaryStoragePath != null)
return true;
else
return false;