0

shareActionProvider を介して画像を共有しようとしていますが、ファイルを共有しようとしているすべてのアプリがファイルを処理していないようです: 選択したアプリは開きますが、その後は画像が表示されません (つまり、スカイプ自体は開きますが、ファイルはまったく送信しません)

ここに私が入れたものがありますonCreateOptionsMenu

getSupportMenuInflater().inflate(R.menu.menu_statistics, menu);

ShareActionProvider mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.actionbar_share_chart).getActionProvider();

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

String root= Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/charts");
String fname = "chart.png";
File file = new File(myDir, fname);
URI uri = file.toURI();
shareIntent.putExtra(Intent.EXTRA_STREAM, uri.toString());
mShareActionProvider.setShareIntent(shareIntent);

if(file.exists())
    Log.d("debugCheck", "the file exists");

return true;

私が得るものはもちろん

ファイルが存在する

私のログで。それで、それはなぜですか?アプリは開いているのに画像が添付されないのはなぜですか?

4

1 に答える 1

0

わかりました、エラーが見つかりました。その URI クラスを使用する代わりに、Uriオブジェクトを作成する必要がありました。

Uri screenshotUri = Uri.parse("file:///storage/sdcard0/charts/chart.png");

そして、それをインテントのエキストラとして渡す必要がありました

shareIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);

事件解決!

于 2013-06-16T02:51:39.453 に答える