2016-03-28 9 views
1

私のアプリからGmailに画像を共有すると、画像のパスが[宛先]フィールドに表示されるという問題があります。ここで画像を共有するアドレスをアドレスに設定する

は、私が使用しているコードです:

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")); 

そして、ここでは、私が何を得るのです。

enter image description here

する:正面から削除:フィールドが「コンテンツ」を有する画像へのパスで満たされます。私はEXTRA_EMAILをインテントに設定しようとしましたが、それは役に立ちません。

答えて

4

まず、交換してください:

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

で:IntentのデータフィールドにUriを使用していません

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

ACTION_SENDとして。

はその後、削除:あなたが二回setType()を呼び出す必要はありませんよう(あなたがここでそれを持っているように、あるいは、setType()setDataAndType()を呼び出す)

shareIntent.setType("image/*"); 

また、心の中でクマ:Uriアプリ(ContentProvider例えば、あなた自身)から来ていない場合

  • 、Gmailなどのサードパーティ製のアプリは、彼らのように、それを使用することができないかもしれませんアクセス権がない可能性があります。これは、認証されたユーザーセッションが有用であることがURLで要求される第三者のアプリケーションにURLを渡すことと大きく異なるわけではありません。

  • 両方EXTRA_STREAM EXTRA_TEXT`を称えるためにACTION_SEND実装のための要件はありません。

1

あなたは共有の意図を使用して画像を共有することができますが、ローカライズされたビットマップ

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に画像をデコードするためにきましたがNitin Misra

にacoording http://eofdreams.com/data_images/dreams/face/face-03.jpg

からロードされたビットマップです

関連する問題