检查外部存储功能不起作用

时间:2014-08-08 13:57:01

标签: android

在创建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;
}

1 个答案:

答案 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;