2016-03-28 16 views
1

adresine gönderir. Uygulamamdaki bir görüntüyü Gmail’de paylaşmanın, Kime alanında görüntünün yolunu belirlediği bu sorunu yaşıyorum. Resmi, adresi

İşte kullanıyorum kodu:

Intent shareIntent = new Intent(); 
shareIntent.setAction(Intent.ACTION_SEND); 
shareIntent.setType("image/*"); 
shareIntent.putExtra(Intent.EXTRA_SUBJECT,"Beam Dental Insurance Card"); 
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // temp permission for receiving app to read this file 
shareIntent.setDataAndType(insuranceCardImageUri, getActivity().getContentResolver().getType(insuranceCardImageUri)); 
shareIntent.putExtra(Intent.EXTRA_STREAM, insuranceCardImageUri); 
startActivity(Intent.createChooser(shareIntent, "Share Insurance Card")); 

Ve burada ne olsun.

enter image description here

Kime: "İçerik:" önden kaldırılmış alan ile görüntüye yol ile doldurulur alır. Niyetine EXTRA_EMAIL'u ayarlamayı denedim, ancak bu yardımcı olmuyor.

cevap

4

Öncelikle değiştirin:

shareIntent.setDataAndType(insuranceCardImageUri, getActivity().getContentResolver().getType(insuranceCardImageUri)); 

ile: Intent veri alanına bir Uri kullanmaz

shareIntent.setType(getActivity().getContentResolver().getType(insuranceCardImageUri)); 

ACTION_SEND olarak.

Sonra kaldırın: iki kez setType() aramaya gerek yok gibi (buradan olduğu gibi hatta, setType() ve setDataAndType() çağrı)

shareIntent.setType("image/*"); 

. Ayrıca

hatırda tutulması gereken:

  • Uri ise (örneğin, kendi ContentProvider) Gmail gibi üçüncü parti uygulamalar olarak, kullanmak mümkün olmayabilir uygulamanızda gelmiyor onlar Erişim izni olmayabilir. Bu, URL'nin bir üçüncü taraf uygulamasına geçirilmesinden önemli ölçüde farklı değildir; burada URL, kimliği doğrulanmış bir kullanıcı oturumunun yararlı olmasını gerektirir.

  • hemEXTRA_STREAMve EXTRA_TEXT` onurlandırmak için ACTION_SEND uygulamaları için bir gereksinim yoktur.

1

Sen payı amacı kullanarak görüntüyü paylaşabilir, ancak yerelleştirilmiş Bitmap

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.putExtra(Intent.EXTRA_TEXT, "Hey view/download this image"); 
String path = Images.Media.insertImage(getContentResolver(), loadedImage, "", null); 
Uri screenshotUri = Uri.parse(path); 

intent.putExtra(Intent.EXTRA_STREAM, screenshotUri); 
intent.setType("image/*"); 
startActivity(Intent.createChooser(intent, "Share image via...")); 

loadedImage görüntüyü deşifre etmek ettik http://eofdreams.com/data_images/dreams/face/face-03.jpg

yüklenen bitmap Nitin Misra

acoording olduğunu