6

これが私の問題です... png画像を共有したいです。ドローアブルとアセットに画像があります。私がsharingIntentを使用すると、それは機能しますが、私が望む方法では機能しません。共有されたファイルは番号付きで拡張子なしで表示され、一部のアプリは「不明なファイル」というメッセージを送信します。私に何ができる??

これは私のコードです:

    Uri uri = Uri.parse("android.resource://com.example.shareimages/" + R.drawable.caja);
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);

    shareIntent.setType("image/png");

    shareIntent.putExtra(Intent.EXTRA_STREAM,  uri);

    startActivity(Intent.createChooser(shareIntent, "send"));

ドローアブル ファイルの代わりに、アセット内のファイル (この " file:///android_asset/... ) を使用しようとしましたが、機能しませんでした

4

1 に答える 1

5

次のようなことを試してください:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("image/*");

// For a file in shared storage.  For data in private storage, use a ContentProvider.
Uri uri = Uri.fromFile(getFileStreamPath(pathToImage));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(shareIntent)

assets フォルダー経由で共有する場合は、ContentProvider を使用する必要があります。その方法については、この回答を参照してください。

https://stackoverflow.com/a/7177103/1369222

于 2012-12-19T05:18:07.433 に答える