Android系统自带分享功能的实现(可同时分享文字和图片)

简单,不解释,直接上代码,可直接使用!

代码如下:

 

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
 
  1. /** 
  2.      * 分享功能 
  3.      *  
  4.      * @param context 
  5.      *            上下文 
  6.      * @param activityTitle 
  7.      *            Activity的名字 
  8.      * @param msgTitle 
  9.      *            消息标题 
  10.      * @param msgText 
  11.      *            消息内容 
  12.      * @param imgPath 
  13.      *            图片路径,不分享图片则传null 
  14.      */  
  15.     public void shareMsg(String activityTitle, String msgTitle, String msgText,  
  16.             String imgPath) {  
  17.         Intent intent = new Intent(Intent.ACTION_SEND);  
  18.         if (imgPath == null || imgPath.equals("")) {  
  19.             intent.setType("text/plain"); // 纯文本  
  20.         } else {  
  21.             File f = new File(imgPath);  
  22.             if (f != null && f.exists() && f.isFile()) {  
  23.                 intent.setType("image/jpg");  
  24.                 Uri u = Uri.fromFile(f);  
  25.                 intent.putExtra(Intent.EXTRA_STREAM, u);  
  26.             }  
  27.         }  
  28.         intent.putExtra(Intent.EXTRA_SUBJECT, msgTitle);  
  29.         intent.putExtra(Intent.EXTRA_TEXT, msgText);  
  30.         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  31.         startActivity(Intent.createChooser(intent, activityTitle));  
  32.     }  
### UniApp 实现全端分享功能 在UniApp开发环境中,为了实现在不同平台上的一致性体验,开发者可以利用`uni.share()` API来实现跨平台的分享功能。此API允许应用程序向用户的社交圈、好友或其他指定位置发送消息或链接。 对于具体的应用场景而言,在H5页面上可能通过浏览器自带功能完成;而在微信小程序里,则会依赖于微信开放的能力来进行操作;至于原生APP环境(iOS Android),则可以通过调用各自系统分享组件达成目的[^1]。 下面是一个简单的例子展示如何配置并使用这个方法: ```javascript // 定义要共享的内容对象 const shareData = { provider: "weixin", // 分享渠道提供商, 如 weixin 微信朋友圈 wxfriend 微信好友 sinaweibo 新浪微博 tencentqq QQ空间 qq 好友 scene: "", // 场景参数仅当provider为'weixin'时有效 可选值 'WXSceneSession'(默认) 或者 'WXSenceTimeline' type: 0, // 类型 0: 自动识别(默认), 1: 图片, 2: 音频, 3: 视频, 4: 小程序卡片 (仅限微信) href: "https://example.com/", // 要分享链接的目标URL title: "这是一个测试标题", summary: "这是描述文字。", imageUrl: "https://example.com/image.png" }; function doShare() { uni.share({ ...shareData, success(res) { console.log('成功:', res); }, fail(err) { console.error('失败:', err); } }); } ``` 需要注意的是,不同的平台可能会有不同的限制条件以及额外的要求。例如,在某些情况下,您还需要设置相应的权限声明或者注册特定的服务账号才能正常使用这些特性[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值