1

AndroidのMMSにテキスト内の画像を添付したい.SOとGoogleで多くのことを見つけましたが、まだ適切な解決策が得られていません.私のコードは次のとおりです。

Intent sendIntent = new Intent(Intent.ACTION_SEND);
            sendIntent.setType("image/png");
            sendIntent.putExtra("sms_body",
                    getResources().getText(R.string.Message));
            // sendIntent.setType("vnd.android-dir/mms-sms");

            Uri mms_uri = Uri.parse("android.resource://"
                    + getPackageName() + "/" + R.drawable.app_logo);

            sendIntent.putExtra(Intent.EXTRA_STREAM, mms_uri.toString());

            startActivity(Intent.createChooser(sendIntent, ""));

この問題について助けてください。

4

1 に答える 1

0

これで運が良かったですか?同様のアプローチを試みたところ、

Uri mms_uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.app_logo);

普遍的ではありません。assetsフォルダーに画像ファイルのコピーを作成し、それをファイルに変換することで、なんとかそれを行うことができました。次のようなことができます。

File f = new File(getCacheDir()+"/app_logo.png");
if (!f.exists()) try {
    InputStream is = getAssets().open("R.drawable.app_logo");
    int size = is.available();
    byte[] buffer = new byte[size];
    is.read(buffer);
    is.close();

    FileOutputStream fos = new FileOutputStream(f);
    fos.write(buffer);
    fos.close();
} catch (Exception e) { throw new RuntimeException(e); }

sharePicture = f.getPath();
于 2013-08-12T20:16:23.313 に答える