J'ai un problème avec la réception d'un fichier .txt
dans ce cas par whats'app.
J'ai l'intention dans mon activité:
Réception d'un fichier partagé
//check intent
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
contrôle si elle est un ACTION_SEND
, extrait extra
par un Bundle
, créez un nouveau File
et essayer de le transformer en un String
:
if (Intent.ACTION_SEND.equals(action) && Objects.equals (type, "text/plain")) {
Log.d ("Intent", "have shared");
Bundle bundle = intent.getExtras();
Uri uri = (Uri) bundle.get(Intent.EXTRA_STREAM);
Log.d ("uri ",
uri.getAuthority()+" "+
uri.getPath()+" "+
uri.getFragment()+" "+
uri.getUserInfo());
File file = new File (uri.getPath());
Log.d("file" , file.toString()+" "+file.getPath()+" "+file.getName()+" "+ file.exists()+" "+ file.isFile()+" "+file.isDirectory()+" "+file.isAbsolute()+" "+file.isHidden());
try {
StringBuilder text = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
//read line by line
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
Log.d ("String", text.toString());
} catch (java.io.IOException e) {
e.printStackTrace();
}
Les résultats des journaux de débogage sont les suivants:
D/uri: com.whatsapp.provider.media /item/95 null null
D/file: /item/95 /item/95 95 false false false true false
Je reçois cette erreur sur BufferedReader
:
W/System.err: java.io.FileNotFoundException: /item/95: open failed: ENOENT (No such file or directory)
et je ne comprends pas pourquoi.
Quelqu'un peut-il m'aider?