以下代码既不创建目录,也不将照片存储在必须创建的目录中。我不知道错误来自哪里,我正在搜索互联网,但找不到有用的信息。你有没有看到过错?目录不是在Android中创建的
mImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//Creamos la carpeta.
File imageFolder = new File(Environment.getExternalStorageDirectory() + "/LibretaPolicial");
if(!imageFolder.exists()){
imageFolder.mkdirs();
Toast.makeText(BorrarActivity.this, "Creado", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(BorrarActivity.this, "NOOOOO creado", Toast.LENGTH_SHORT).show();
}
File image = new File(imageFolder, numeroAleatorio+".jpg");
Uri uriSavedImage = Uri.fromFile(image);
//Le decimos al Intent que queremos guardar la imagen.
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
//Lamzamos la aplicación de la camara
startActivityForResult(cameraIntent, 1);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//Comprovamos que la foto se a realizado
if (requestCode == 1 && resultCode == RESULT_OK) { //requestCode: 1 requestCode : 0
//Creamos un bitmap con la imagen recientemente
//almacenada en la memoria
Bitmap bMap = BitmapFactory.decodeFile(
getExternalStorageDirectory()+
"/LibretaPolicial/"+numeroAleatorio+".jpg");
//Añadimos el bitmap al imageView para
//mostrarlo por pantalla
mImageView.setImageBitmap(bMap);
}
}
相信在AndroidManifest权限良好,没有告诉我任何错误,只是不创建目录,或者存放在应该已经创建的目录中的照片。
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Activities.SplashActivity">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
android:screenOrientation="portrait"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".Activities.MainActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".Activities.BorrarActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".Activities.ModificarActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".Activities.BorrarPlacasActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".Activities.ModificarPlacaActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".Activities.ClaveActivity"
android:screenOrientation="portrait">
</activity>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE">
</uses-permission>
</manifest>
https://stackoverflow.com/questions/32789157/how-to-write-files-to-external-public-storage -in-android-so-that-they-are-visibl – CommonsWare
你是怎么在onActivityResult中调用getExternalStorageDirectory()的? –