Je tente de partager une image de ma carte SD.Android: Je ne peux pas partager l'image de la carte SD
Classe MainActivity.java
Intent shareIntent = new Intent(Intent.ACTION_SEND);
File baseDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
String fileName = "/cats.jpg";
File file = new File(baseDir + fileName);
Uri uri = Uri.fromFile(file);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(shareIntent.createChooser(shareIntent, "Send Picture"));
ajouter à mon Manifest.xml:
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
L'image "chats" est dans MySmartphone\Card\DCIM\cats.jpg
Quand je commence mon application , Je peux choisir une application pour partager ma photo. Mais quand j'en ouvre un, il ne peut pas envoyer ou ouvrir l'image.J'ai souvent un toast "non supporté" ou "erreur pour partager l'image". Je pense que mon uri ou mon fichier est faux, mais je ne trouve pas mon erreur. Je n'ai aucun problème pour envoyer du texte.
Mes uri: file:///data/user/0/com.example.jana.showpicture/files/cats.jpg
Mon fichier: /storage/emulated/0/cats.jpg
'mage" cats "est dans MySmartphone \ Card \ DCIM \ cats.jpg' ?? C'est un chemin non existant. Vous en tant que programmeur devriez savoir mieux. Essayez de trouver le chemin réel du fichier pour votre image. – greenapps
'Mon uri: fichier: /// données/utilisateur/0/com.example.jana.showpicture/files/cats.jpg' Où avez-vous trouvé cet uri? Ce chemin serait une mémoire privée interne. Vous pouvez l'atteindre avec getFilesDir(). – greenapps
'Mon fichier: /storage/emulated/0/cats.jpg'. Ce chemin n'a rien à voir avec votre uri car il provient de getExternalStorageDirectory(). Votre message est un gâchis. – greenapps