标签:
ShareSDK是一个第三方分享平台,集成了常用的一些平台分享:例如QQ、微信、新浪微博、腾讯微博、开心网、人人网等等,可以理解为,ShareSDK本身不产生数据,只是提供了这样一个平台。好处是:开发者不必单个再去实现各个网站的分享,可以轻松的实现登陆,分享,获得用户资料,数据统计分析等等。
<uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<activity android:name="cn.sharesdk.framework.ShareSDKUIShell" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|adjustResize" > <intent-filter> <data android:scheme="tencent100371282" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
要数据不要功能showuser(),要功能不要数据Authorize()。
ShowUser() 登陆,获取个人信息(用户名,昵称等等)(申请key要验证身份证信息)
Authorize() 分享的时候用(不需要自己完成,shareSDK自己判断是否授权,只做分享不需要验证身份证)
p.setPlatformActionListener(new PlatformActionListener() { @Override public void onError(Platform arg0, int arg1, Throwable arg2) { Log.e("tag", arg2.getMessage()); } @Override public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) { Log.i("tag", "新浪微博的数据库"+arg0.getDb().toString()); } @Override public void onCancel(Platform arg0, int arg1) { } });在登陆成功时,可以看到,可以获取shareSDK给我们提供的数据库,但是各个平台的数据库字段不一样,下面列出了几个获取头像图片和默认头像图片的:
if (plat.getName().equals(SinaWeibo.NAME)) { name = map.get("name").toString(); id = map.get("id").toString(); url = map.get("avatar_large").toString(); } else if (plat.getName().equals(QZone.NAME)) { name = map.get("nickname").toString(); id = plat.getDb().getUserId(); url = map.get("figureurl_qq_2").toString(); } else if (plat.getName().equals(TencentWeibo.NAME)) { name = map.get("nick").toString(); id = plat.getDb().getUserId(); if (Utils.isEmpty(map.get("head").toString())) { url = "http://mat1.gtimg.com/www/mb/img/p1/head_normal_180.png"; } else { url = map.get("head").toString() + "/180"; } } else if (plat.getName().equals(Renren.NAME)) { name = map.get("name").toString(); id = map.get("id").toString(); if (!Utils.isEmpty(map.get("avatar").toString())) { List list = (List) map.get("avatar"); for (int i = 0; i < list.size(); i++) { if (!Utils.isEmpty(list.get(i).toString())) { url = ((Map) list.get(2)).get("url").toString(); } }
标签:
原文地址:http://blog.csdn.net/bless2015/article/details/46418439