59

Android アプリにファイルのリストがあり、選択したアイテムを取得して、電子メールまたはその他の共有アプリで送信できるようにしたいと考えています。これが私のコードです。

Intent sendIntent = new Intent();
                    sendIntent.setAction(Intent.ACTION_SEND);
                    sendIntent.putExtra(Intent.EXTRA_EMAIL, getListView().getCheckedItemIds());
                    sendIntent.setType("text/plain");
                    startActivity(sendIntent);
4

10 に答える 10

61

これはAndroidでファイルを共有するためのコードです

Intent intentShareFile = new Intent(Intent.ACTION_SEND);
File fileWithinMyDir = new File(myFilePath);

if(fileWithinMyDir.exists()) {
    intentShareFile.setType("application/pdf");
    intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+myFilePath));

    intentShareFile.putExtra(Intent.EXTRA_SUBJECT,
                        "Sharing File...");
    intentShareFile.putExtra(Intent.EXTRA_TEXT, "Sharing File...");

    startActivity(Intent.createChooser(intentShareFile, "Share File"));
}
于 2015-02-24T11:11:59.583 に答える
27
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(exportPath));

またzip file、Androidで複数のファイルを送信するために、すべてのファイルを作成してzipファイルを添付することもできます

于 2013-08-01T05:11:05.070 に答える
14

これは、すべてのファイルで機能します。

private void shareFile(File file) {

    Intent intentShareFile = new Intent(Intent.ACTION_SEND);

    intentShareFile.setType(URLConnection.guessContentTypeFromName(file.getName()));
    intentShareFile.putExtra(Intent.EXTRA_STREAM,
        Uri.parse("file://"+file.getAbsolutePath()));

    //if you need
    //intentShareFile.putExtra(Intent.EXTRA_SUBJECT,"Sharing File Subject);
    //intentShareFile.putExtra(Intent.EXTRA_TEXT, "Sharing File Description");

    startActivity(Intent.createChooser(intentShareFile, "Share File"));

}

Tushar-Mate に感謝します。

于 2018-08-06T19:19:35.703 に答える
-5

他のアプリへのコンテンツの送信に関するこの記事を読む

Intent sendIntent = new Intent();

sendIntent.setAction(Intent.ACTION_SEND);

sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");

sendIntent.setType("text/plain");

startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
于 2013-08-01T05:17:51.407 に答える