1 Star 0 Fork 25

wxtech / lib-android-Social

forked from 幺鹿 / lib-android-Social 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

#lib-android-Social

Android 封装第三方登录与分享组件

有任何建议或反馈 请联系: chenjunqi.china@gmail.com

欢迎大家加入android 开源项目群(369194705), 有合适的项目大家一起 fork;

简介

  • 当下仅接入了微信(会话)/微信朋友圈/微信收藏服务---> 详情见(:wechat)
  • 社会化组件中没有定义丰富的媒介类型,包括不限于:图片/视频/音乐/网页/表情等;
  1. 支持纯文本分享
  2. 支持图片分享(Bitmap、Resource、SDCard,暂时不支持URL 分享Bug?还是微信不支持?)-->7/4新增
  3. 若你需要支持其他分享媒介,请自行构建对应的行为
  • 关于扩展第三方服务(如:QQ/易信/FaceBook等)
  1. 自行构建新的 module(可参考: wechat),理论上只需在对应的 module 中接入第三方服务的接口,即可正常调用;
  2. 在枚举类PlatformEnum中定义对应 modulehandler , 同时不要忘记更改PlatformEnum.getSupportPlatforms()方法;
  3. 实现接口IPlatform,构建对应的平台配置类;
  4. 在类PlatformConfiguration中实现setXXPlatform()方法, 供客户端传入appidappsecret;
  • 目前还未实现下图的效果; 如果你需要实现展示分享平台面板功能. 需要涉及SnsPlatform,ShareAction类;

主要是目前产品还没有需求接入多SnsPlatform, 所以我就留空了~~ :)

QQ20160701-0@2x.png

使用场景

  1. 第三方登录
  2. 第三方分享

1.获取SocialAPI

SocialAPI service = SocialAPI.getInstance (this);

2.申请授权


service.runOauthApply (this, platform, new ISSOHandler.AuthListener () {
        			@Override
        			public void onComplete (PlatformEnum platform, int action, Map<String, String> map) {
        				Log.d (TAG, "[AuthListener] onComplete: platform = " + platform);
        				Log.d (TAG, "[AuthListener] onComplete: action = " + action);
        				Log.d (TAG, "[AuthListener] onComplete: map = " + map);
        			}

        			@Override
        			public void onError (PlatformEnum platform, int action, Throwable throwable) {
        				Log.d (TAG, "[AuthListener] onError: platform = " + platform);
        				Log.d (TAG, "[AuthListener] onError: action = " + action);
        				Log.d (TAG, "[AuthListener] onError: throwable = " + throwable);
        			}

        			@Override
        			public void onCancel (PlatformEnum platform, int action) {
        				Log.d (TAG, "[AuthListener] onCancel: platform = " + platform);
        				Log.d (TAG, "[AuthListener] onCancel: action = " + action);
        			}
        		});

3. 删除授权


service.runOauthDelete (this, platform, new ISSOHandler.AuthListener () {
        			@Override
        			public void onComplete (PlatformEnum platform, int action, Map<String, String> map) {
        				Log.d (TAG, "[AuthListener] onComplete: platform = " + platform);
        				Log.d (TAG, "[AuthListener] onComplete: action = " + action);
        				Log.d (TAG, "[AuthListener] onComplete: map = " + map);
        			}

        			@Override
        			public void onError (PlatformEnum platform, int action, Throwable throwable) {
        				Log.d (TAG, "[AuthListener] onError: platform = " + platform);
        				Log.d (TAG, "[AuthListener] onError: action = " + action);
        				Log.d (TAG, "[AuthListener] onError: throwable = " + throwable);
        			}

        			@Override
        			public void onCancel (PlatformEnum platform, int action) {
        				Log.d (TAG, "[AuthListener] onCancel: platform = " + platform);
        				Log.d (TAG, "[AuthListener] onCancel: action = " + action);
        			}
        		});

完成文本分享

// 构建分享内容
ShareContent shareContent = new ShareAction.Builder ()
				.setTargetUrl ("[A]www.healthbok.com")
				.setText ("分享内容来自 bookbuf 分享组件.")
				.setTitle ("分享标题来自 bookbuf 分享组件.")
				.build ();
// 设定分享回调
IShareHandler.ShareListener shareListener = new IShareHandler.ShareListener () {
	@Override
	public void onResult (PlatformEnum shareMedia) {
		Log.d (TAG, "[ShareListener] onResult: shareMedia = " + shareMedia);
	}

	@Override
	public void onError (PlatformEnum shareMedia, Throwable throwable) {
		Log.d (TAG, "[ShareListener] onError: shareMedia = " + shareMedia + ", throwable = " + throwable);
	}

	@Override
	public void onCancel (PlatformEnum shareMedia) {
		Log.d (TAG, "[ShareListener] onCancel: shareMedia = " + shareMedia);
	}
};
// 构建分享行为
ShareAction action = new ShareAction (this)
		.setShareContent (shareContent)
		.setShareForm ("[B]www.healthbok.com")
		.setSharePlatform (platform)
		.setShareListener (shareListener);
// 触发分享行为
service.runShare (this, action, action.getShareListener ());

截图

device-2016-07-01-132550.png

空文件

简介

集成第三方登录/分享功能的社会化组件 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wxtech/lib-android-Social.git
git@gitee.com:wxtech/lib-android-Social.git
wxtech
lib-android-Social
lib-android-Social
master

搜索帮助

14c37bed 8189591 565d56ea 8189591