安卓分享文件的方法

2018-05-21  本文已影响0人  zbmzly
Intent intentShareFile = new Intent(Intent.ACTION_SEND);
File fileWithinMyDir = new File(activity.apkFile);
if(fileWithinMyDir.exists()) {
    intentShareFile.setType("application/pdf");
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        Uri contentUri = FileProvider.getUriForFile(activity.getApplicationContext(), BuildConfig.APPLICATION_ID + ".fileProvider", fileWithinMyDir);
        intentShareFile.putExtra(Intent.EXTRA_STREAM, contentUri);
        intentShareFile.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    } else {
        intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + activity.apkFile  ));
    }
    intentShareFile.putExtra(Intent.EXTRA_SUBJECT, "发送文件...");
    intentShareFile.putExtra(Intent.EXTRA_TEXT, "发送文件...");
    activity.startActivity(Intent.createChooser(intentShareFile, "Share File"));
}

对于Android 7.0的机器你需要设置file provider。测试发现我这边的微信不能支持file provider提供的uri,但是QQ可以,目测是微信的适配问题。

上一篇 下一篇

猜你喜欢

热点阅读