2012-04-26 17 views
3

私はかなりの時間をかけて解決策を探していますが、ますます挫折しています。GET_CONTETインテントを呼び出しているアプリの画像を提供しようとしています

私のアプリが他のアプリのコンテンツを提供できるようにします。例:GoogleMailアプリを使用している場合、添付ファイルを追加できます。ダイアログボックスが開き、添付ファイルを提供できるすべてのアプリケーションが表示されます。あなたが私のアプリを選ぶときに、それが活動を始めている

<intent-filter > 
      <action android:name="android.intent.action.GET_CONTENT" /> 
      <action android:name="android.intent.action.PICK" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.OPENABLE" /> 
      <data android:mimeType="image/*" /> 
     </intent-filter> 

:私はこのようなインテントフィルタと活動を定義したので、私のアプリは、既にダイアログです。このアクティビティでは、写真を選択してSDカードに書き込むことができます。ここまでは順調ですね。 しかし、私はそれを正しく返すのですか? GoogleMailでの添付は決して行われないためです。 私はそれをこのように戻っています:

if(file!=null) 
{ 
    Intent resultIntent=new Intent(); 
    resultIntent.setType("image/jpg"); 

    Uri uri=Uri.fromFile(file); 

    //uri=Uri.parse(uri.toString().replace("file", "content")); 
    resultIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    resultIntent.putExtra(Intent.EXTRA_UID, uri); 
    resultIntent.setData(uri); 
    setResult(RESULT_OK, resultIntent); 
    finish(); 
} 

私は誰も私を助けることができればとてもとてもとてもとても幸せになります。私はそれが私が間違っている単純な事だと信じていますが、私を助けるものは何も見つかりません。 :(

敬具

+0

あなたが見つけました解決策はありますか?私は同じポイントで立ち往生しています。 'resultIntent.putExtra(Intent.EXTRA_STREAM、uri); resultIntent.putExtra(Intent.EXTRA_UID、uri);' 私のために働いていませんでした。 Gmailの添付ファイルが送信されないことを確認してください。 – philipp

答えて

0

おそらくストリームプロバイダを実装する必要があります。実際にそこに何か良いガイドがそこにはありませんが、thisは私が見つけることができる最も近いです。

関連する問題