贡献一个社交分享的SDK(可以截屏分享)

这款SDK可以实现分享到各大主流社交平台的功能,分享图片+文字+连接,还可以截屏分享。其中包含分享积分功能和抽奖功能。

注册需要分享的平台:填入在各大社交平台申请到的appkey

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <KeyInfo>
  3. <!-- 分享平台的注册信息,一定要填入在相应平台注册的正确信息,不然应用无法完成授权,  也无法进行分享,enable填写true或者false属性决定是否分享该平台-->
  4. <!-- 友推sdk注册地址 : http://youtui.mobi/ -->
  5. <YouTui AppKey="" />
  6. <!-- 微信和朋友圈注册:https://open.weixin.qq.com/ -->
  7. <Wechat AppId="" Enable="" />
  8. <WechatMoments AppId="" Enable="" />
  9. <!-- 新浪微博注册地址:http://open.weibo.com/ -->
  10. <!-- IsNoKeyShare属性,如果开发者没有新浪微博的key但是希望能使用新浪微博的分享功能,可以将IsNoKeyShare设置为true,这样就不需要设置AppKey,AppSecret,RedirectUrl而是使用友推默认的新浪注册信息 -->
  11. <!-- IsWebShare设置为true则使用web分享而不是使用默认的调用新浪微博客户端进行分享,有用户在小米等机型下调用新浪微博客户端进行分享时无法获得授权,这样的话请使用web方式进行分享 -->
  12. <SinaWeibo IsNoKeyShare="" IsWebShare="" AppKey="" AppSecret="" Enable="" RedirectUrl="" />
  13. <!-- QQ,QQ空间,腾讯微博注册地址:http://open.qq.com/ -->
  14. <QQ AppId="" AppKey="" Enable="" />
  15. <QZone AppId="" AppKey="" Enable="" />
  16. <!-- 腾讯微博注册地址:http://dev.t.qq.com/ -->
  17. <!-- IsNoKeyShare属性,如果开发者没有腾讯微博的key但是希望能使用腾讯微博的分享功能,可以将IsNoKeyShare设置为true,这样就不需要设置AppKey,AppSecret,RedirectUrl而是使用友推默认的腾讯微博注册信息 -->
  18. <TencentWeibo IsNoKeyShare="" AppKey="" AppSecret="" Enable="" RedirectUrl="" />
  19. <!-- 人人注册地址: http://dev.renren.com/ -->
  20. <Renren AppKey="" AppId="" Enable="" SecretKey="" />
  21. <ShortMessage Enable="" />
  22. <Email Enable="" />
  23. <!-- 复制链接 -->
  24. <CopyLink Enable="true"/>
  25. <!-- 调用系统分享,适用于暂时没有申请到key的分享,该分享不会获得积分,也不会被统计到 -->
  26. <More Enable="true"/>
  27. </KeyInfo>

复制代码

在AndroidManifest.xml 注册权限:

  1. <!-- 检测网络状态 -->
  2. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  3. <!-- 获取mac地址作为用户的备用唯一标识 -->
  4. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  5. <!-- 获取用户手机的IMEI,用来唯一的标识用户。 -->
  6. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  7. <!-- 写入SDcard权限 -->
  8. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  9. <!--打开关闭sd卡权限--!>
  10. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
  11. <!--网络权限--!>
  12. <uses-permission android:name="android.permission.INTERNET" />
  13. <!-- 用于读取sd卡图片 -->
  14. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  15. <!-- 用于人人SSO登陆 -->
  16. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  17. <!-- 用于人人SSO登陆 -->
  18. <uses-permission android:name="android.permission.USE_CREDENTIALS" />
  19. <!-- 用于人人SSO登陆 -->
  20. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

复制代码

在 AndroidManifest.xml 注册需要的Activity:

  1. <!-- 微信分享需要注册该activity -->
  2. <activity
  3. android:name=".wxapi.WXEntryActivity"
  4. android:exported="true"
  5. android:launchMode="singleTask"
  6. android:theme="@android:style/Theme.Translucent" >
  7. </activity>
  8. <!-- qq回调需要注册该activity -->
  9. <activity
  10. android:name="com.tencent.connect.common.AssistActivity"
  11. android:configChanges="orientation|keyboardHidden"
  12. android:screenOrientation="portrait"
  13. android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  14. <!-- qq授权需要注册该activity -->
  15. <activity
  16. android:name="com.tencent.tauth.AuthActivity"
  17. android:launchMode="singleTask"
  18. android:noHistory="true" >
  19. <intent-filter>
  20. <action android:name="android.intent.action.VIEW" />
  21. <category android:name="android.intent.category.DEFAULT" />
  22. <category android:name="android.intent.category.BROWSABLE" />
  23. <!-- 请将1101255276换成开发者自己应用的腾讯开放平台 Appid-->
  24. <data android:scheme="tencent1101255276" />
  25. </intent-filter>
  26. </activity>
  27. <!-- 人人授权需要注册的activity -->
  28. <activity
  29. android:name="com.renn.rennsdk.oauth.OAuthActivity"
  30. android:configChanges="orientation|navigation|keyboardHidden" />
  31. <!-- 分享界面 -->
  32. <activity
  33. android:name="cn.bidaround.ytcore.activity.ShareActivity"
  34. android:exported="true"
  35. android:launchMode="singleTop"
  36. android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  37. <!-- 新浪微博分享回调需要设置 -->
  38. <intent-filter>
  39. <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
  40. <category android:name="android.intent.category.DEFAULT" />
  41. </intent-filter>
  42. </activity>
  43. <!-- 应用授权 activity-->
  44. <activity
  45. android:name="cn.bidaround.ytcore.login.AuthActivity"
  46. android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  47. <!-- 友推积分activity -->
  48. <activity
  49. android:name="cn.bidaround.point.PointActivity" />
  50. <!-- 截屏编辑activity -->
  51. <activity
  52. android:name="cn.bidaround.youtui_template.ScreenCapEditActivity"
  53. android:screenOrientation="portrait"
  54. android:theme="@android:style/Theme.Black.NoTitleBar" />
  55. <!-- 友推渠道号,应用名(英文或拼音)+"_yt",如:“jd_yt”,用于识别通过友推下载的应用,请正确填写否则无法正确统计 -->
  56. <meta-data
  57. android:name="YOUTUI_CHANNEL"
  58. android:value="yourappname_yt" >
  59. </meta-data>

复制代码

设置好分享的内容:

  1. public void onClick(View v) {
  2. if(v.getId()==R.id.popup_bt){
  3. /*调用友推分享推荐组件,YouTuiViewType类的常量为分享样式参数,目前支持白色列表和黑色网格两种*/
  4. /*创建分享的模板,第一个参数为activity,第二个参数为分享窗口样式,第三个参数为是否需要积分*/
  5. YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.WHITE_GRID,false);  //白色网格样式不需要积分活动
  6. /*YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.WHITE_LIST,ture);*/ //白色列表样式需要积分活动
  7. ShareData shareData = new ShareData();
  8. shareData.isAppShare = false;//设置为true则分享的信息从友推后台填写的应用信息中读取,可动态更新后面的值不用设置。
  9. shareData.setDescription("友推积分组件");
  10. shareData.setTitle("友推分享");
  11. shareData.setText("通过友推积分组件,开发者几行代码就可以为应用添加分享送积分功能,并提供详尽的后台统计数据,除了本身具备的分享功能外,开发者也可将积分功能单独集成在已有分享组件的app上,快来试试吧 http://youtui.mobi");
  12. shareData.setTarget_url("http://youtui.mobi");
  13. shareData.setImageUrl("http://youtui.mobi/media/image/youtui.png");
  14. shareData.setImagePath("http://cdnup.b0.upaiyun.com/media/image/default.png");
  15. blackTemp.setShareData(shareData);//设置默认的分享数据;shareData 设置参看4.6
  16. //**如果要为某个平台设置不一样的分享信息。则单独设置*/
  17. //blackTemp.addData(YtPlatform.PLATFORM_QQ, shareData);
  18. //调出分享窗口
  19. blackTemp.show();
  20. //如果需要自定义分享事件,可以创建监听事件,然后在回调中处理
  21. YtShareListener listener1 = new YtShareListener() {
  22. @Override
  23. public void onSuccess(ErrorInfo arg0) {
  24. }
  25. @Override
  26. public void onPreShare() {
  27. }
  28. @Override
  29. public void onError(ErrorInfo arg0) {
  30. }
  31. @Override
  32. public void onCancel() {
  33. }
  34. };
  35. //给新浪微博添加分享监听
  36. blackTemp.addListener(YtPlatform.PLATFORM_SINAWEIBO, listener1);
  37. //给QQ添加分享监听
  38. //blackTemp.addListener(YtPlatform.PLATFORM_QQ, listener2);
  39. }
  40. }

复制代码

代码太长了,没有办法全部写出,这里是教程地址

时间: 2024-10-17 01:53:10

贡献一个社交分享的SDK(可以截屏分享)的相关文章

Android截屏分享

Android截屏并进行分享应该是一个比较好用的功能,可惜在应用中见的不多 1. 截屏 /** * 准备截屏 */ public void prepareshoot(){ try{ boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); if (sdCardExist) { String rootPath = Environment.getE

android截屏:保存一个view的内容为图片并存放到SD卡

项目中偶尔会用到截屏分享,于是就有了下面这个截屏的方法~ 下面得saveImage()方法就是保存当前Activity对应的屏幕所有内容的截屏保存. private void saveImage() { // SD卡保存路径 String savePath = Environment.getExternalStorageDirectory() + "/temp.png"; // showProgress("请稍候", "正在保存图片--"); s

Android手机截屏

刚开始打算做一个简单的截屏程序时,以为很轻松就能搞定. 在Activity上放一个按钮,点击完成截屏操作,并将数据以图片形式保存在手机中. 动手之前,自然是看书和网上各种查资料.结果发现了解的知识越多,就越发感觉不对劲. 截屏,总以为其类似于其他小应用的开发,有现成的接口或者只需要稍微改动就能达到预期的效果. 一般讲解Android的书籍并没有提到截屏的内容,网上的文章很多,但也没有哪篇能是真正完整,能把解决思路说清楚的. 总结的比较合理的一篇文章题目为“Android截屏学习经历”,出自“ht

TCL携手微信合作,电视微信弹幕、截屏现新亮点

智能电视行业目前正在朝深入.高端的方向发展,以TCL TV+家庭娱乐电视为例,9月1日,TCL在北京腾讯视频演播大厅举办了"超乎想象TV+家庭娱乐电视--第一台连接微信的电视"发布会,宣布为旗下TV+家庭娱乐电视进行首次应用功能增值,率先实现电视微信功能,此举不仅拉开了TV+产品系列增值序幕,更重要的一点,它对电视社交互动体验未来的发展起到了一定的导向作用. TCL TV+连接微信,树立不一样的玩法 那么,TCL TV+连接微信能树立什么新的玩法呢?对微信我们已不陌生,关键问题是如何将

优分享VR开源啦,优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件

欢迎来到优分享VR开源项目 优分享VR 开源中国Git地址: http://git.oschina.net/xumingwang/youkes_vr 优分享VR是 优分享安卓APP VR视频播放开源部分.其它开源部分:优分享开源浏览器 优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件.由于google vr sdk现在出于初级阶段,所以本软件也不能完美的支持一些VR视频资源的播放,不过随着Google VR的发展,优分享也会与时俱进的支持更多的VR视频资源. 优分享VR安卓

Android之Bitmap图片的截屏、模糊处理、传递、使用

项目中遇到了这样一个需求: 当某个条件满足时就截取当前屏幕,并跳转到另外一个页面,同时将这个截屏图片作为下一个页面的背景图片,同时背景图片需要模糊处理 接下来就一步一步解决问题: 1.截取无状态栏的当前屏幕图片,请参考takeScreenShot方法 2.使图片高斯模糊的方法请参考blurBitmap方法 注意:RenderScript是Android在API 11之后加入的,用于高效的图片处理,包括模糊.混合.矩阵卷积计算等 public class ScreenShotUtil { // 获

cocos2dx 3.2 Touch Listen和menu回调实现截屏

在Cocos2d-X 3.x里面,已经集成了截屏功能,单独放在utils命名空间里,实现在base/ccUtils.h文件里面.看下函数申明 /** Capture the entire screen * To ensure the snapshot is applied after everything is updated and rendered in the current frame, * we need to wrap the operation with a custom comm

android源码解析(二十六)--&gt;截屏事件流程

今天这篇文章我们主要讲一下Android系统中的截屏事件处理流程.用过android系统手机的同学应该都知道,一般的android手机按下音量减少键和电源按键就会触发截屏事件(国内定制机做个修改的这里就不做考虑了).那么这里的截屏事件是如何触发的呢?触发之后android系统是如何实现截屏操作的呢?带着这两个问题,开始我们的源码阅读流程. 我们知道这里的截屏事件是通过我们的按键操作触发的,所以这里就需要我们从android系统的按键触发模块开始看起,由于我们在不同的App页面,操作音量减少键和电

手机游戏渠道SDK接入工具项目分享(三)拨开云雾是个坑

一直在纠结是先写框架设计还是先写掉过的坑,最后本这娱乐大众的态度先写掉过的坑让大家乐呵下. 项目开发过程中遇问题无数,回顾下8个大坑照成了项目一定程度上延期甚至返工. 1.  项目一开始几个人把现有3家主流的产品(1接,棱镜,AnySDK)研究了一遍.没想先在这里就进坑了.在研究了几天后发现这3家虽推出有一定时间,但都是以第三方服务角度设计和开发的产品,与需求不符. 2.  版本管理.和流程管理等内容因为运营人员更替一直在调整,直到我提出需要加价才做吧.需求上快把打包工具做成OA系统了,删除了于