Lorsque j'appuie sur le bouton Partager, le corps du SMS entre très bien, mais je n'arrive pas à voir apparaître l'image. Cela ne ressemble même pas à un attachement.L'image ne sera pas attachée à un message texte même avec un URI de travail
J'ai regardé tout mon code et ça a l'air bien, mais je ne peux pas dire que je suis un expert en développement, alors je suis probablement en train de regarder quelque chose.
Est-ce que quelqu'un sait ce qui pourrait se passer?
Obtenir l'URI de la base de données (je sais que l'URI est correct, car un affichage ImageView correctement basés sur cette même URI):
imageURI = Uri.parse(cursor.getString(cursor.getColumnIndexOrThrow(WineContract.WineEntry.COLUMN_WINE_IMAGE)));
C'est là que je tente de définir l'URI à la Pièce jointe:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_shareWine) {
Intent intentShare = new Intent(Intent.ACTION_SENDTO);
intentShare.setData(Uri.parse("smsto:")); // This ensures only SMS apps respond
intentShare.putExtra("sms_body", "The sms body goes here";
//Attaching the image I want into the text:
intentShare.putExtra(intentShare.EXTRA_STREAM, imageURI);
if (intentShare.resolveActivity(getPackageManager()) != null) {
startActivity(intentShare);
}
Et ce cas, il aide, voici comment je reçois à l'origine l'URI:
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
}
// Continue only if the File was successfully created
if (photoFile != null) {
photoURI = FileProvider.getUriForFile(this,
"jeremy.com.wineofmine.fileprovider",
photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
}
}
private File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
);
// Save a file: path for use with ACTION_VIEW intents
mCurrentPhotoPath = image.getAbsolutePath();
return image;
}
** ** M ** MS faire. –