1.开发者中心——sdk与文档-ushare分享-sdk下载-5.1.2
2.获得友盟appkey(在个人中心那里点击-创建新应用--配置完毕后在--下载SDK并添加代码里可以看到)
3.将文件夹中的'main/libs'和'main/res'文件夹复制到你的项目工程根目录下
4.如果配置QQ那么就要把qq对应的资源也复制到项目工程根目录下
5.在mainfest中其中key需要配置
a.权限
<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.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
b.本来的活动和keykey需要配置
<activity
android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"/>
<meta-data
android:name="UMENG_APPKEY"
android:value="4eaee02c527015373b000003" >
</meta-data>
c.需要登录哪一个就需要配置哪一个的activity例如QQ
<activity
android: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="tencent100424468" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
6. 各个平台的配置,建议放在全局Application或者程序入口在平台的入口
PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
//微信 appid appsecret
PlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad");
//新浪微博 appkey appsecret
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
// QQ和Qzone appid appkey
PlatformConfig.setAlipay("2015111700822536");
//支付宝 appid
PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
//易信 appkey
PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
//Twitter appid appkey
PlatformConfig.setPinterest("1439206");
//Pinterest appid
PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
//来往 appid appkey
7.在java代码中设置全局变量
UMShareAPI mShareAPI = UMShareAPI.get(this);
private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
Toast.makeText( getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();
}
};
8.在点击事件中触发的事件就是
SHARE_MEDIA platform = SHARE_MEDIA.QQ;
mShareAPI.doOauthVerify(this, platform, umAuthListener)
9.重写方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}
10.获取信息也可以用接口获得,但是需要重写接口
mShareAPI.getPlatformInfo(UserinfoActivity.this, platform, umAuthListener1);
String screen_name = data.get("screen_name");
String profile_image_url = data.get("profile_image_url");
11.如果要分享,那么需要变量
final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[]
{
SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,SHARE_MEDIA.SINA,
SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE,SHARE_MEDIA.DOUBAN
};
分享的方是
<p>//图片(url)</p><pre lang="java"><code class="hljs java">UMImage image = <span class="hljs-keyword"><span class="hljs-keyword">new</span></span> UMImage(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>, <span class="hljs-string"><span class="hljs-string">"http://www.umeng.com/images/pic/social/integrated_3.png"</span></span>);
</code>
<p>//图片(本地资源引用)</p><pre lang="java"><code class="hljs java">UMImage image = <span class="hljs-keyword"><span class="hljs-keyword">new</span></span> UMImage(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,
BitmapFactory.decodeResource(getResources(), R.drawable.image));
</code>
// 分享的方法
new ShareAction(this).setDisplayList( displaylist )
.withText( "呵呵" )
.withTitle("title")
.withTargetUrl("http://www.baidu.com")
.withMedia( image )
.setListenerList(umShareListener)
.open();
// 里边的接口
<span class="hljs-keyword"><span class="hljs-keyword">new</span></span> UMShareListener() {
<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span>
<span class="hljs-function"><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title"><span class="hljs-function"><span class="hljs-title">onResult</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(SHARE_MEDIA platform)</span></span></span><span class="hljs-function"> </span></span>{
Toast.makeText(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,platform + <span class="hljs-string"><span class="hljs-string">" 分享成功啦"</span></span>, Toast.LENGTH_SHORT).show();
}
<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span>
<span class="hljs-function"><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title"><span class="hljs-function"><span class="hljs-title">onError</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(SHARE_MEDIA platform, Throwable t)</span></span></span><span class="hljs-function"> </span></span>{
Toast.makeText(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,platform + <span class="hljs-string"><span class="hljs-string">" 分享失败啦"</span></span>, Toast.LENGTH_SHORT).show();
}
<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span>
<span class="hljs-function"><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title"><span class="hljs-function"><span class="hljs-title">onCancel</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(SHARE_MEDIA platform)</span></span></span><span class="hljs-function"> </span></span>{
Toast.makeText(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,platform + <span class="hljs-string"><span class="hljs-string">" 分享取消了"</span></span>, Toast.LENGTH_SHORT).show();
}
};