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可以,目测是微信的适配问题。
网友评论