Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在android中创建带有图像的文件夹_Java_Android_File_Sdk_Android Sdcard - Fatal编程技术网

Java 无法在android中创建带有图像的文件夹

Java 无法在android中创建带有图像的文件夹,java,android,file,sdk,android-sdcard,Java,Android,File,Sdk,Android Sdcard,我正在尝试创建一个包含图像文件的文件夹 这里是代码 File folder = new File(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images"); folder.mkdirs(); String extStorageDirectory = folder.toString(); File file = new File(extStorageDirectory, "Image2.

我正在尝试创建一个包含图像文件的文件夹

这里是代码

File folder = new    File(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images");
    folder.mkdirs();
    String extStorageDirectory = folder.toString();
    File file = new File(extStorageDirectory, "Image2.PNG");
    if(!folder.exists()){
        Toast.makeText(MainActivity.this, "Not Exist", Toast.LENGTH_SHORT).show();
    }
这也是我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bernardo.hellow">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".hello"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>


我已经添加了写入外部存储权限,但它仍然不起作用。

如果以API 23为目标,则必须以编程方式请求权限

请求运行时的权限

// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(thisActivity,
            Manifest.permission.READ_CONTACTS)
    != PackageManager.PERMISSION_GRANTED) {

// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
        Manifest.permission.READ_CONTACTS)) {

    // Show an expanation to the user *asynchronously* -- don't block
    // this thread waiting for the user's response! After the user
    // sees the explanation, try again to request the permission.

} else {

    // No explanation needed, we can request the permission.

    ActivityCompat.requestPermissions(thisActivity,
            new String[]{Manifest.permission.READ_CONTACTS},
            MY_PERMISSIONS_REQUEST_READ_CONTACTS);

    // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
    // app-defined int constant. The callback method gets the
    // result of the request.
    }
}
资料来源:安卓开发者

显然,您需要将READ_联系人更改为WRITE_外部存储

处理结果

@Override
public void onRequestPermissionsResult(int requestCode,
    String permissions[], int[] grantResults) {

    switch (requestCode) {

    case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
        // If request is cancelled, the result arrays are empty.
        if (grantResults.length > 0
            && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            // permission was granted, yay! Do the
            // contacts-related task you need to do.

        } else {

            // permission denied, boo! Disable the
            // functionality that depends on this permission.
        }
        return;
    }

    // other 'case' lines to check for other
    // permissions this app might request
}
}

来源:安卓开发者

什么是“不工作”?你认为它应该做什么?它应该做什么?@Bernardo D'Agostino你的targetSdk?你一定得到了SecurityException,请检查@Bernardo D'Agostino检查您的targetSdk是否为23我不确定OP说他以23+为目标的位置,在任何情况下,我认为重要的是要提到权限的manifest属性在=23之间是不同的。我同意,但如果您以api 23为目标,我在回答的一开始就这样做了。但你是对的:)