2015-09-30 5 views
0

При попытке разделить изображение на Facebook с помощью намерения получать сообщения "Sorry we couldn't load your photo"Android Доля Намерение не загружая изображения

Я использую следующий код,

  Uri imageUri = Uri.parse("android.resource://"+getPackageName()+"/drawable/"+filename); 
     Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setType("image/jpg"); 
     intent.putExtra(Intent.EXTRA_STREAM, imageUri);    
     startActivity(Intent.createChooser(intent , "Share"));  

Когда я попытался отправить через Gmail , без привязанности. Могу я узнать, в чем причина?

ответ

0
public void shareImage() 
{ 
Bitmap icon = mBitmap; 
Intent share = new Intent(Intent.ACTION_SEND); 
share.setType("image/jpeg"); 
ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes); 
File f = new File(Environment.getExternalStorageDirectory() + File.separator + "temporary_file.jpg"); 
try { 
    f.createNewFile(); 
    FileOutputStream fo = new FileOutputStream(f); 
    fo.write(bytes.toByteArray()); 
} catch (IOException e) {      
     e.printStackTrace(); 
} 
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/temporary_file.jpg")); 
startActivity(Intent.createChooser(share, "Share Image")); 


} 
+0

Что такое "mBitmap"? –

1

Некоторые приложения (например, Gmail, Facebook, Google Plus ...) не может получить фото прикрепить, потому что ваш imageUri является частным.

Вы должны сохранить свою выгоду в галерее или в общедоступной папке, а затем получить новый ресурсImageUri. intent.putExtra(Intent.EXTRA_STREAM, newImageUri);

+0

Да, я это понимал и делал точно так же. Благодарю. –