2016-09-22 14 views
1

私は、アプリケーションで作成したファイルを送信して別のユーザーに送信したいと思います。 このユーザーは、アプリで添付ファイルを開いて、送信したファイルを自分の仕事に使用できるはずです。 MIMEタイプは次のとおりです。emailIntentを含むの.ser電子メールの添付ファイルを読むためにアプリケーションを登録する

私のマニフェスト

<application 
      <intent-filter> 
      <data android:scheme="content" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data 
       android:mimeType="application/*" 
       android:host="*" 
       android:pathPattern=".*\\.ser" 
      /> 
     </intent-filter> 

マイビュー、::Javaのシリアライズ・オブジェクト

Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.setData(Uri.parse("mailto:")); 
emailIntent.setType("text/plain"); 
emailIntent.putExtra(Intent.EXTRA_EMAIL, TO); 
emailIntent.putExtra(Intent.EXTRA_CC, CC); 
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Pentacubes BETA-TEST"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, report); 

filename = "level_0_2_0.ser" ; 
File myFile = new File("/sdcard/" + filename); 
Uri uri = Uri.fromFile(myFile); 
emailIntent.putExtra(Intent.EXTRA_STREAM, uri); 
emailIntent.setType("application/octet-stream"); 
emailIntent.setType("application/java-serialized-object"); 

送信メールはo.k.です 添付ファイルに.serを含む電子メールプログラムで電子メールを開くと、私のアプリケーションは添付ファイルを読むために登録されていません。

答えて

0

アンドロイドの使用:pathPatternは、GmailのUIに表示されている場合でも、インテントのURIに拡張子がないため、Gmailのインテントを受信しない可能性があります。あなたがGmailから任意のインテントを受け取ることができるかどうかを確認するためには、あなたがあなたのアプリケーションをデバッグし、MIMEタイプは、所望の添付ファイルに対して与えられているものを見つけることができるようになりますそのようにして、この

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:scheme="content" android:mimeType="*" android:host="*" /> 
</intent-filter> 

をチェックしてください。

受信したインテントを拡張機能でフィルタリングする場合でも、プログラムでインテントをフィルタリングできます。

関連する問題