Ich versuche Bild zu kopieren unter Code:Nicht in der Lage Bild zu kopieren ACTION_GET_CONTENT mit
Intent intentImage = new Intent();
intentImage.setType("image/*");
intentImage.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intentImage, 10);
Damit ich bin der Lage, alle Bildinhalt zu öffnen.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 10) {
if (resultCode != RESULT_OK) return;
Uri selectedImageUri = data.getData();
try {
String selectedImagePath1 = getPath(selectedImageUri);
File file = new File(selectedImagePath1);
String fna = file.getName();
String pna = file.getParent();
File fileImage = new File(pna, fna);
copyFileImage(fileImage, data.getData());
} catch (Exception e) {
}
}
}
private void copyFileImage(File src, Uri destUri) {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(src));
bos = new BufferedOutputStream(getContentResolver().openOutputStream(destUri));
byte[] buf = new byte[1024];
bis.read(buf);
do {
bos.write(buf);
} while (bis.read(buf) != -1);
} catch (NullPointerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bis != null) bis.close();
if (bos != null) bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Jetzt bin ich erfolgreich Pfad und Name des Bildes erhalten.
Jetzt, wenn ich den obigen Code ausführen dann gibt es mir einen Fehler von erfordert android.permission.MANAGE_DOCUMENTS, or grantUriPermission()
.
, so habe ich die Erlaubnis, in manifest setzen:
Ich habe auch die Erlaubnis für Lese definiert und internen/externen Speicher schreiben.
Aber immer noch bekomme ich diesen Fehler.
Wie kann ich das Bild kopieren?
Daraus bin ich nur in der Lage zu Base64 erhalten zu konvertieren, aber ich mag auch das Bild auf SD-Karte kopieren. – deepak