添付ファイルがGoogleサーバーに保存されているため、ファイルパスを直接取得することはできないと思います。ただし、ContentResolverとInputStreamを使用してファイルデータにアクセスし、添付ファイルのデータをストレージにコピーすることはできます。 CarvingCode blogに触発
、私はこのスニペットを使用します。
if (intent.getScheme().compareTo("content")==0)
{
try
{
InputStream attachment = getContentResolver().openInputStream(data);
if (attachment == null)
Log.e("onCreate", "cannot access mail attachment");
else
{
FileOutputStream tmp = new FileOutputStream("/mnt/sdcard/attachment.pdf");
byte []buffer = new byte[1024];
while (attachment.read(buffer) > 0)
tmp.write(buffer);
tmp.close();
attachment.close();
}
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}