请大家多多指教,这个版本会不断的更新,完善,谢谢大家的支持!

感谢这个群部门大神的

分享QQ、微信  好友 ,空间、 新浪   的两种方式

一、不经过第三方sdk直接调用系统自带的分享

      1.分享纯文本到qq好友(仅此一种 不限文字)

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, emailContext);
sendIntent.setType("text/plain");
sendIntent.setPackage("com.tencent.mobileqq");
sendIntent.setComponent(new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity"));
startActivity(sendIntent);
     2.分享图片到qq好友
Intent intent = new Intent("android.intent.action.SEND");
intent.setType("image/png");
//将项目图片转换为uri
BitmapDrawable bd = (BitmapDrawable) getResources().getDrawable(R.drawable.white);
Bitmap bt = bd.getBitmap();
final Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(context.getContentResolver(), bt, null, null));
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName("包名", "分享页面名"));//若是分享到QQ,可将包名改为com.tencent.mobileqq,分享页面名改为com.tencent.mobileqq.activity.JumpActivity
context.startActivity(intent);<span style="font-size:12px;"><em><span style="font-size:18px;"><span style="background-color: rgb(255, 255, 255);"></span></span></em></span><span style="font-size:18px;"><span style="background-color: rgb(255, 255, 255);"></span></span>
 private List<ResolveInfo> getShareTargets(Context context) {Intent intent = new Intent(Intent.ACTION_SEND, null);intent.addCategory(Intent.CATEGORY_DEFAULT);intent.setType("text/plain");PackageManager pm = context.getPackageManager();return pm.queryIntentActivities(intent, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);}
      
     4 .将自己的应用加入系统分享列表当中
<span style="color:#000000;"><activity android:name=".activity.MicroBlogInput" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateAlwaysVisible|adjustResize"><intent-filter android:label="@string/albums_sendbyWBlog">                <action android:name="android.intent.action.SEND" />                <data android:mimeType="image/*" />                         <category android:name="android.intent.category.DEFAULT" />           </intent-filter>
</activity> </span>
      5.其余分享都在项目中 ,点击最下方链接  ,百度云下
     3.获取手机中支持纯文本分享的所有列表

二、使用微信 ,QQ官网的sdk  架包     ----未完(在封装最佳公共调用方法)

       1、需要用到的包,放在lib文件夹里

      

2、在AndroidManifest下需要配置的内容

<span style="font-size:14px;"><activityandroid:name="com.tencent.tauth.AuthActivity"android:launchMode="singleTask"android:noHistory="true" ><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="tencent+自己申请的appID" /></intent-filter></activity><activityandroid:name="com.tencent.connect.common.AssistActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><!-- qq qozen --><!-- weixin --><activityandroid:name=".util.WX.WXEntryActivity"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" ></activity></span>

        3.需要新建 WXEntryActibity

<span style="font-size:12px;">public class WXEntryActivity extends Activity implements IWXAPIEventHandler {// IWXAPI 是第三方app和微信通信的openapi接口private IWXAPI api;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 通过WXAPIFactory工厂,获取IWXAPI的实例api = WXAPIFactory.createWXAPI(this, WXValues.WX_APP_ID, true);api.handleIntent(getIntent(), this);}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);api.handleIntent(intent, this);}// 微信发送请求到第三方应用时,会回调到该方法@Overridepublic void onReq(BaseReq req) {switch (req.getType()) {case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:break;case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:break;default:break;}}// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法@Overridepublic void onResp(BaseResp resp) {if (SendAuth.Resp.class.isInstance(resp)) {SendAuth.Resp result = (SendAuth.Resp) resp;if (result.errCode == BaseResp.ErrCode.ERR_OK) {Intent intent = new Intent("feno_action_wx_auth_success");intent.putExtra("token", result.token);sendBroadcast(intent);}finish();} else {String result = "";switch (resp.errCode) {case BaseResp.ErrCode.ERR_OK:result = "发送成功";break;case BaseResp.ErrCode.ERR_USER_CANCEL:result = "发送取消";break;case BaseResp.ErrCode.ERR_AUTH_DENIED:result = "认证失败";break;default:result = "发送返回";break;}Toast.makeText(this, result + "", Toast.LENGTH_LONG).show();finish();}}</span>

     4.在需要使用的地方调用 (下面为微信调用)

 <pre name="code" class="html"><span style="font-size:12px;">              String emailContext=“hellow  word” </span>

if (emailContext == null || emailContext.length() == 0) { return; } // 初始化一个WXTextObject对象 WXTextObject textObj = new WXTextObject(); textObj.text = emailContext; // 用WXTextObject对象初始化一个WXMediaMessage对象 WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = textObj; // 发送文本类型的消息时,title字段不起作用 // msg.title = "Will be ignored"; msg.description = emailContext; // 构造一个Req SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求 req.message = msg; // req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; // 调用api接口发送数据到微信 api.sendReq(req);

三、使用第三方平台 (友盟)-----未完

1、建议在项目中直接引入友盟包

友盟官网下载

2、在配置文件里配置相应id

  <meta-dataandroid:name="UMENG_APPKEY"android:value="52dc8a1e56240b493116cd51"/>
<ol class="dp-xml" start="1"><li class="alt"><span> <span class="tag"><</span><span class="tag-name">activity</span><span>  </span></span></li><li><span>            <span class="attribute">android:name</span><span>=</span><span class="attribute-value">"com.umeng.socialize.view.ShareActivity"</span><span>  </span></span></li><li class="alt"><span>            <span class="attribute">android:configChanges</span><span>=</span><span class="attribute-value">"orientation|keyboard"</span><span>  </span></span></li><li><span>            <span class="attribute">android:launchMode</span><span>=</span><span class="attribute-value">"singleTask"</span><span>  </span></span></li><li class="alt"><span>            <span class="attribute">android:noHistory</span><span>=</span><span class="attribute-value">"true"</span><span>  </span></span></li><li><span>            <span class="attribute">android:theme</span><span>=</span><span class="attribute-value">"@style/Theme.UMDialog"</span><span>  </span></span></li><li class="alt"><span>            <span class="attribute">android:windowSoftInputMode</span><span>=</span><span class="attribute-value">"stateVisible|adjustResize"</span><span> </span><span class="tag">></span><span>  </span></span></li><li><span>        <span class="tag"></</span><span class="tag-name">activity</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>  </span></li><li><span>        <span class="comments"><!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ --></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">activity</span><span>  </span></span></li><li><span>            <span class="attribute">android:name</span><span>=</span><span class="attribute-value">"com.tencent.tauth.AuthActivity"</span><span>  </span></span></li><li class="alt"><span>            <span class="attribute">android:launchMode</span><span>=</span><span class="attribute-value">"singleTask"</span><span>  </span></span></li><li><span>            <span class="attribute">android:noHistory</span><span>=</span><span class="attribute-value">"true"</span><span> </span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>            <span class="tag"><</span><span class="tag-name">intent-filter</span><span class="tag">></span><span>  </span></span></li><li><span>                <span class="tag"><</span><span class="tag-name">action</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.intent.action.VIEW"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>  </span></li><li><span>                <span class="tag"><</span><span class="tag-name">category</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.intent.category.DEFAULT"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>                <span class="tag"><</span><span class="tag-name">category</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.intent.category.BROWSABLE"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li><span>                <span class="comments"><!-- 100424468,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID--></span><span>  </span></span></li><li class="alt"><span>                <span class="tag"><</span><span class="tag-name">data</span><span> </span><span class="attribute">android:scheme</span><span>=</span><span class="attribute-value">"tencent100424468"</span><span> </span><span class="tag">/></span><span>   </span></span></li><li><span>            <span class="tag"></</span><span class="tag-name">intent-filter</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"></</span><span class="tag-name">activity</span><span class="tag">></span><span>  </span></span></li><li><span>        <span class="tag"><</span><span class="tag-name">activity</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"com.tencent.plus.ImageActivity"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">activity</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"com.tencent.connect.common.AssistActivity"</span><span>  </span></span></li><li><span>            <span class="attribute">android:theme</span><span>=</span><span class="attribute-value">"@android:style/Theme.Translucent.NoTitleBar"</span><span>  </span></span></li><li class="alt"><span>            <span class="attribute">android:screenOrientation</span><span>=</span><span class="attribute-value">"portrait"</span><span class="tag">></span><span>  </span></span></li><li><span>        <span class="tag"></</span><span class="tag-name">activity</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>  </span></li><li><span><span class="comments"><!-- ###################添加UmengAppkey###################### --></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">meta-data</span><span>  </span></span></li><li><span>            <span class="attribute">android:name</span><span>=</span><span class="attribute-value">"UMENG_APPKEY"</span><span>  </span></span></li><li class="alt"><span>            <span class="attribute">android:value</span><span>=</span><span class="attribute-value">"xxxxxxxxxxxxxxxxxxxxxx"</span><span> </span><span class="tag">></span><span>  </span></span></li><li><span>        <span class="tag"></</span><span class="tag-name">meta-data</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>  </span></li><li><span>    <span class="tag"></</span><span class="tag-name">application</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>  </span></li><li><span>    <span class="tag"><</span><span class="tag-name">uses-sdk</span><span> </span><span class="attribute">android:minSdkVersion</span><span>=</span><span class="attribute-value">"8"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>  </span></li><li><span>    <span class="comments"><!-- ###################声明SDK使用的相关权限###################### --></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.ACCESS_NETWORK_STATE"</span><span> </span><span class="tag">/></span><span>  </span><span class="comments"><!-- 检测网络状态 --></span><span>  </span></span></li><li><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.ACCESS_WIFI_STATE"</span><span> </span><span class="tag">/></span><span>     </span><span class="comments"><!-- 获取mac地址作为用户的备用唯一标识 --></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.READ_PHONE_STATE"</span><span> </span><span class="tag">/></span><span>      </span><span class="comments"><!-- 获取用户手机的IMEI,用来唯一的标识用户。 --></span><span>  </span></span></li><li><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.WRITE_EXTERNAL_STORAGE"</span><span> </span><span class="tag">/></span><span class="comments"><!-- 缓存资源优先存入SDcard --></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.INTERNET"</span><span> </span><span class="tag">/></span><span>              </span><span class="comments"><!-- 允许应用程序联网,以便向我们的服务器端发送数据。 --></span><span>  </span></span></li><li><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.ACCESS_FINE_LOCATION"</span><span> </span><span class="tag">/></span><span>  </span><span class="comments"><!-- 用于评论模块分享位置信息 --></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">uses-permission</span><span> </span><span class="attribute">android:name</span><span>=</span><span class="attribute-value">"android.permission.ACCESS_COARSE_LOCATION"</span><span> </span><span class="tag">/></span><span class="comments"></span></span></li></ol>
3、在调用的地方调用
   <span style="font-size:12px;"> private void initialUM() {  // 首先在您的Activity中添加如下成员变量  mController = UMServiceFactory.getUMSocialService("com.umeng.share",  RequestType.SOCIAL);  // 设置分享内容  mController  .setShareContent("友盟社会化组件(SDK)让移动应用快速整合社交分享功能,http://www.umeng.com/social");  mController  .setShareMedia(new UMImage(mContext, R.drawable.ic_launcher)); // 设置分享图片内容  SocializeConfig config = mController.getConfig();  // 开通短信  config.setShareSms(true);  config.setShareMail(true);  config.setPlatforms(SHARE_MEDIA.QZONE, SHARE_MEDIA.TENCENT);  // wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppID  String appID = "wxfc7bdd52daa288f9";  // 微信图文分享必须设置一个Url  String contentUrl = "http://t.cn/zTXUNMu";  // 添加微信平台,参数1为当前Activity, 参数2为用户申请AppID,参数3为点击分享内容跳转到的目标url  UMWXHandler wxHandler = config.supportWXPlatform(getActivity(), appID,  contentUrl);  // 设置分享标题  wxHandler.setWXTitle("浪腾微博客户端不错");  // 支持微信朋友圈  UMWXHandler circleHandler = config.supportWXCirclePlatform(  getActivity(), appID, contentUrl);  circleHandler.setCircleTitle("浪腾微博客户端还不错..");  }
<span style="font-size:18px;color:#FF6666;"><span><span>     mController.openShare(getActivity(), false);//打开分享</span></span></span></span>

源码项目下载路径 点击打开链接


分享QQ、微信 好友 ,空间、 新浪 的三种方式(验证通过)相关推荐

  1. 微信或企业微信实现扫码登录的三种方式

    通过微信或企业微信扫码登录PC管理后台,替代传统的账号.密码登录. 为了完成这个功能,疯狂百度各种扫码登录的技术文章,能实现微信或企业微信扫码登录的方式可以说有三种: 1.注册一个微信资源开放平台账号 ...

  2. 微信小程序页面跳转三种方式

    为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是五层,请尽量避免多层级的交互方式. 页面跳转的话就涉及到了多个页面层级 第一种:wx.navigateTo(OBJECT) 保留当前页面 ...

  3. 使用javaMail进行腾讯,新浪,网易网上邮箱验证

    最近本人在开发web项目中,使用到了javaMail来进行邮箱验证.最初刚接触javaMail开发的时候,本人搜索很多有关这方面的知识和案例,比如慕课网上的课程,但那些都只是针对本地邮箱服务器或者单个 ...

  4. 前端Vue分享菜单按钮弹框、微博分享、QQ分享、微信好友、朋友圈

    前端Vue分享菜单按钮弹框.微博分享.QQ分享.微信好友.朋友圈 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13085 效 ...

  5. android 分享到新浪微博客户端,新浪微博新版Android客户端,支持将微博分享给微信好友和微信朋友圈...

    这两天我们都在谈论微信想要"燃烧一切"野心:更新客户端,支持多人语音同时聊天,开放系统API,支持将微信消息同步保存到印象笔记.如今这把火终于烧到了新浪微博,今天新浪微博Andro ...

  6. 安卓端录像并将视频分享给微信好友

    ShareREC for unity (安卓)手游录制视频并分享给微信好友 1. 首先你需要在微信开放平台上申请一个移动应用 网址在下面https://open.weixin.qq.com .申请应用 ...

  7. Android应用实现微信分享(微信好友,朋友圈),分享链接,图片,文字

    科技快讯 9月2日晚间,华为终端宣布,将于10月16日在德国慕尼黑发布华为 Mate 10 新机.从放出的海报来看,证实了华为 Mate 10 将搭载自家的麒麟970处理器,并采用时下流行的全面屏设计 ...

  8. uniapp 实现生成海报并分享给微信好友和保存到本地相册

    记录uniapp 生成二维码海报并保存到本地或者分享给微信好友 – 文章目录 记录uniapp 生成二维码海报并保存到本地或者分享给微信好友 前言 一.引入生成二维码的组件 二.点击右侧的分享图标生成 ...

  9. 分享到微信好友或朋友圈

    这周末学习了如何将图片,文本,分享到微信好友或者是朋友圈,自己亲手敲了一把.结果一个bug让我很不爽.待会来谈谈bug是什么. 好了,写代码之前必须做这几件事情.在微信开发者网站上注册账号,填写app ...

最新文章

  1. java程序员封闭_变态级JAVA程序员面试32问(转)
  2. 详细讲解设计LOGO思维方式和方法【转】
  3. Nginx upstream的5种权重分配方式分享
  4. css设置背景图片缩小,css3 设置背景图片大小(缩略图形式缩小)
  5. eNSP中玩转Python自动化——解锁网工新姿势
  6. 全局变量-全局变量定义的位置及代码结构
  7. WARNING: Ignoring invalid distribution -ip
  8. Ubuntu常用软件安装(小集合)
  9. 显示墙 显示服务器地址,云墙怎么看服务器地址
  10. 电脑关机很慢是怎么回事
  11. ionic tab(选项卡)
  12. 说说ejabberd离线消息踩过的坑
  13. 《区块链技术指南》一
  14. Java面试回忆录:java电子书免费
  15. get 和 post 区别
  16. CTPN算法简单解析
  17. ice服务器修复教程,Bootice:系统引导菜单修复利器的功能解说
  18. Jimmy Nilsson-应用领域驱动设计和企业应用架构模式-UMLChina讲座-音频和幻灯
  19. Linux 服务器配置 ASF 云挂卡
  20. 漫谈程序员系列:你的幸运女神呢

热门文章

  1. Linux 常用基本命令 rmdir rm
  2. template class T 什么意思
  3. 调MURA数据集keras CNN模型笔记
  4. 【PPP-RTK技术研究进展与实验验证】
  5. Mac电脑下 Idea 修改内存参数不起作用的解决方法
  6. Lex/Yacc 初识Lex
  7. 阿里移动技术峰会的一些体会 2015-07-04
  8. 一个简单的PE感染病毒
  9. Nginx之TCP端口转发
  10. 克里金(kriging)模型的推导详解