QQ第三方分享详解
来源:互联网 发布:城乡统筹发展数据 编辑:程序博客网 时间:2024/05/16 14:07
在友盟中下载QQ的SDK:
http://bbs.umeng.com/portal.php
SDK文件目录介绍
- main -- 核心库
umeng_social_api.jar
umeng_social_net.jar
umeng_social_tool.jar
- platforms -- 分享平台库
QQ精简版(SocialSDK_QQ_Simplify.jar)
这里只列举QQ、最终platforms文件夹内包含的文件与下载页面选择的平台有关
- shareboard
umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)
umeng_social_shareboard.jar
拷贝jar及res
拷贝jar和res有如下两种形式
a.将main文件夹以及platform(选择你想使用的平台即可)文件下,对应的资源文件和jar放入你的工程
修改AndroidManiFest
首先需要添加权限:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/><uses-permission android:name="android.permission.READ_CONTACTS"/><uses-permission android:name="android.permission.RECEIVE_SMS"/><uses-permission android:name="android.permission.READ_SMS"/><uses-permission android:name="android.permission.GET_TASKS"/>
其中由于QQ登陆模块重复添加的权限
友盟分享分为两种形式:
- 分享面板分享,用户可以调用我们提供的默认分享面板UI,打开分享面板,然后点击分享面板的对应平台进行分享
- 直接分享,用户可以自己写分享按钮,或者触发事件,然后调用我们的分享方法,进行分享。
设置分享链接
分享链接可以使用UMWeb进行分享:
UMWeb web = new UMWeb(Defaultcontent.url); web.setTitle("This is music title");//标题 web.setThumb(thumb); //缩略图 web.setDescription("my description");//描述
打开分享面板
在需要弹出分享面板选择页的地方调用下列代码
new ShareAction(MainActivity.this) .withText("hello")要分享的网页 .withMedia(web)分享的APP
setDisplayList中设置的枚举参数就是最终分享面板中显示的平台,
所传入参数的顺序即为最终面板分享平台的排列顺序 .setDisplayList(SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN) .setCallback(umShareListener).open();
onActivityResult实现方法如下:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); }
直接分享
简而言之,直接分享就是在用户自己的界面组件中插入分享行为
分享可以通过如下代码实现,不同平台只要传入不同的SHARE_MEDIA即可。
new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.QQ) .withText("hello") .setCallback(umShareListener) .share();
其中umShareListener为回调监听,构建如下,其中分享成功会回调onComplete,取消分享回调onCancel,分享错误回调onError,对应的错误信息可以用过onError的Throwable参数来打印
private UMShareListener umShareListener = new UMShareListener() { @Override public void onStart(SHARE_MEDIA platform) { //分享开始的回调 } @Override public void onResult(SHARE_MEDIA platform) { Log.d("plat","platform"+platform); Toast.makeText(MainActivity.this, platform + " 分享成功啦", Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA platform, Throwable t) { Toast.makeText(MainActivity.this,platform + " 分享失败啦", Toast.LENGTH_SHORT).show(); if(t!=null){ Log.d("throw","throw:"+t.getMessage()); } } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(MainActivity.this,platform + " 分享取消了", Toast.LENGTH_SHORT).show(); } };
详细代码见http://dev.umeng.com/social/android/share-detail
compile 'com.github.bumptech.glide:glide:3.8.0'compile 'de.hdodenhof:circleimageview:2.1.0'在Gradle Scripts的工程下加入这两个JAR包
Glide是和Imageloader一样的图片展示控件
使用方法:
Glide.with(MainActivity.this) //上下文.load(map.get("iconurl")) //要在登陆中展示的User的图片.into(img); //xml布局中的控件circleimageview //直接在xml中使用<de.hdodenhof.circleimageview.CircleImageView android:layout_width="50dp" android:layout_height="50dp" android:id="@+id/img" />效果展示是一张圆形的图片
阅读全文
0 0
- QQ第三方分享详解
- 第三方分享QQ QQZONE
- 第三方登录QQ、分享
- QQ第三方登录+分享
- QQ第三方登录与QQ分享
- iOS开发第三方分享 QQ分享
- 第三方QQ登陆详解
- QQ 微信 第三方登录 分享
- shareSDK实现QQ第三方分享
- 第三方 ShareSdk QQ、微信分享
- 第三方 QQ分享的使用
- 第三方QQ登录与分享
- 简单的第三方分享QQ
- 第三方QQ登录和分享
- iOS开发之第三方分享QQ分享实现
- AndroidStudio实现第三方QQ分享,空间分享
- Android QQ第三方登录详解
- QQ第三方登录的详解---java
- [leetcode]ones and zeros
- C语言之位域
- 【Direct3D】之资源管理
- leetcode 566: Reshape the Matrix
- 打靶蓝桥杯-2016年java-B组决赛
- QQ第三方分享详解
- va_start,va_end,va_arg用法
- 广播中的提示方式NotificationManager
- winform 读写.ini 文件
- 递归求角谷定理
- BZOJ1083 繁忙的都市 (洛谷P2330)
- JVM G1垃圾收集器
- Iperf3.1.3简介
- ImageLoade