大家好,又见面了,我是你们的朋友全栈君。
想必做Android开发都会遇到的需求——分享。
实现需求和方式也都各自不一,有接入某个app的SDK进行分享,也有集成第三方平台例如友盟等等…
接下来所要说到的是Android系统提供的分享组件,比较易用。
分享组件
- 能够自动的检索到可以分享app然后将分享内容带入
- 当然这个也会有所限制的,会有个别app只能分享单一项:“文字+图片”、“图片”、“文字”
- 好处就是轻量级、避免导入其它jar包或依赖、可减少apk体积
File file = new File(filePath);
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
Uri uri = Uri.fromFile(file);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, content);
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.setType("image/*");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
try {
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(Intent.createChooser(shareIntent, "share to"));
} catch (android.content.ActivityNotFoundException ex) {
ToastUtils.showByTop(Tools.getString(R.string.share_failed));
}
介绍:
StrictMode.VmPolic:绕过7.0文件权限
setType:设置分享类型常用也就是:图片、 文字 查看更多戳这?moreType
记得加try catch 避免有的设备出现问题,我这就是一个toast提示。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150926.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...