これを行うには、drawable フォルダー内の画像を SD カードにコピーしてから、SD カード内のファイルのパスをインテントに指定する必要があります。
コードは次のとおりです。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.imagename);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
File f = new File(Environment.getExternalStorageDirectory()
+ File.separator + "test.jpg");
try {
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
fo.close();
} catch (IOException e) {
e.printStackTrace();
}
Uri path = Uri.fromFile(f);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(path, "image/*");
startActivity(intent);
imagenameは、描画可能なフォルダー内の画像の名前であることに注意してください
マニフェストファイルに SD カードへのアクセス許可を追加することを忘れないでください。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>