2016-10-24 10 views
-1

電子メールまたはAndroidのWhasAppでPDFファイルを送信できません。以下はpdfファイルを送信する私のコードです - 何が間違っていますか?アセットフォルダからpdfファイルを送信する方法

File file = new File("android.resource://beeonline.com.chromatography/raw/vendormumbai.pdf"); 

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setDataAndType(Uri.fromFile(file), "application/pdf"); 
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sharing Mumbai File..."); 
intent.putExtra(android.content.Intent.EXTRA_TEXT, "Sharing File..."); 
try { 
     startActivity(Intent.createChooser(intent, "Share PDF file")); 
} catch (ActivityNotFoundException e) { 
     Toast.makeText(ActivityshowVendorForm.this, "Error: Cannot open or share created PDF report.", Toast.LENGTH_SHORT).show(); 
} 
+0

こんにちは、私はpdfファイルをメールやwatsupで送信することができません。アンドロイド以上は、私のコードは、PDFファイルを送信するミス間違っている何か –

答えて

0

まず、質問タイトルはアセットを指します。あなたのコードはアセットとは関係ありません。

第2に、android.resource://mypackagename/raw/vendormumbai.pdfはファイルパスではありません。https://stackoverflow.com/questions/40222995/how-to-send-the-pdf-file-from-the-assets-folder-via-share-option-in-mail-or-watsはファイルパスではありません。値はUriの文字列で、未加工のリソース(アセットではありません)を指しています。

あなたが交換してみて大歓迎です。と

File file = new File("android.resource://mypackagename/raw/vendormumbai.pdf"); 

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setDataAndType(Uri.fromFile(file),"application/pdf"); 

より良い動作するはず
Uri thing = Uri.parse("android.resource://mypackagename/raw/vendormumbai.pdf"); 

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setDataAndType(thing,"application/pdf"); 

が、android.resourceスキームはまれである、そうではないすべてのACTION_SEND受信者がそれを認識します。また、これは、資産ではなく生のリソースを使用していることを前提としています。

あなたが本当に資産からPDFを提供したい、またはandroid.resourceがしたいアプリケーションでサポートされていない場合、あなたは他のものの間で、資産と生のリソース使用してサービスを提供できるよう、ContentProviderを提供していますmy StreamProviderを試すことができた場合contentUri

assets/またはres/raw/のファイルを処理できる独自のContentProviderを実装することもできます。

または、アセット(または生のリソース)をローカルファイル(getFilesDir()またはgetCacheDir())のthen use FileProvider to serve that local fileにコピーできます。

+0

こんにちは、上記のコードは動作していません今すぐpdfファイルを表示するには、その特定のpdfファイルを共有するだけです。 –

関連する問題