请按着步骤一步一步来、最后自然会做出来;当然你也可以看友盟的demo只要你不嫌麻烦。
第一步:在友盟官网[友盟官网](http://www.umeng.com/)注册账号,创建一个移动应用,获取APPkey,下载SDK。
第二步:把demo里面的res下的每个文件夹的资源文件全部拷到自己的项目下面,虽然你的代码没有用到这些东西,但是SDK里面的文件用到了,必须要拷。
第三步:在自己创建的项目中如下配置清单文件和权限
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar" >
<!-- ########注册SDK使用的Activity######### -->
<!--分享编辑页-->
<activity android:name="com.umeng.socialize.view.ShareActivity"
android:configChanges="orientation|keyboard"
android:launchMode="singleTask"
android:noHistory="true"
android:theme="@style/Theme.UMDialog" android:windowSoftInputMode="stateVisible|adjustResize" >
</activity>
<!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ -->
<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" />
<!-- 100424468修改成你在QQ开放平台申请的 APP ID-->
<data android:scheme="tencent100424468" />
</intent-filter>
</activity>
<activity android:name="com.tencent.connect.common.AssistActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="portrait">
</activity>
<!-- #######添加UmengAppkey######## -->
<meta-data
android:name="UMENG_APPKEY"
android:value="xxxxxxxxxxxxxxxxxxxxxx" >
</meta-data>
</application>
注意看以上的配置文件,其中把自己的友盟的key、QQ的APPID替换进去。
第四步:设置用户权限
<!-- ###################声明SDK使用的相关权限###################### -->
<!-- 检测网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 获取mac地址作为用户的备用唯一标识 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 获取用户手机的IMEI,用来唯一的标识用户 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 缓存资源优先存入SDcard -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允许应用程序联网,以便向我们的服务器端发送数据 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- QQ、QQ空间所需权限 -->
<uses-permission android:name="android.permission.GET_TASKS" />
以上这些是用到的用户权限、拷过去即可
第五步:把需要的jar包拷到项目的libs目录下面
SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar,SocialSDK_WeiXin_1.jar,SocialSDK_WeiXin_2.jar,SocialSDK_Sina.jar,umeng_social_sdk.jar,鼠标右键–>Add to Build Path。
第六步:在自己的项目的onCreate方法里面获取如下变量
UMSocialService mController_share = UMServiceFactory
.getUMSocialService("com.umeng.share");
这个变量用来分享用的
第七步:设置分享内容(图文分享、音乐分享与视屏分享)
1、图文分享
mController_share.setShareContent("内容");
mController_share.setShareMedia(new UMImage(getActivity(), "图片的url链接"));
2、音乐分享
UMusic uMusic = new UMusic("音乐的url链接.mp3结尾");
uMusic.setAuthor("作者");//作者无法显示(原因未知)
uMusic.setTitle("标题");//设置标题
// 设置音乐缩略图
uMusic.setThumb("图片的url链接");
mController_share.setShareMedia(uMusic);
3、视屏分享
// 设置分享视频
UMVideo umVideo = new UMVideo("视屏的url链接");
// 设置视频缩略图
umVideo.setThumb("图片链接");
umVideo.setTitle("标题");
mController_share.setShareMedia(umVideo);
第八步:前面已经设置了分享内容,现在就只差分享方法了
mController_share.doOauthVerify(activity, SHARE_MEDIA.QQ,
new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(activity, "授权开始", Toast.LENGTH_SHORT)
.show();
}
@Override
public void onError(SocializeException e,
SHARE_MEDIA platform) {
Toast.makeText(activity, "授权错误", Toast.LENGTH_SHORT)
.show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(activity, "授权完成", Toast.LENGTH_SHORT)
.show();
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(activity, "授权取消", Toast.LENGTH_SHORT)
.show();
}
});
// 参数1为Context类型对象, 参数2为要分享到的目标平台, 参数3为分享操作的回调接口
mController_share.postShare(activity, SHARE_MEDIA.QQ,
new SnsPostListener() {
@Override
public void onStart() {
Toast.makeText(activity, "开始分享.", Toast.LENGTH_SHORT)
.show();
}
@Override
public void onComplete(SHARE_MEDIA platform, int eCode,
SocializeEntity entity) {
if (eCode == 200) {
Toast.makeText(activity, "分享成功.",
Toast.LENGTH_SHORT).show();
} else {
String eMsg = "";
if (eCode == -101) {
eMsg = "没有授权";
}
Toast.makeText(activity,
"分享失败[" + eCode + "] " + eMsg,
Toast.LENGTH_SHORT).show();
}
}
});
}
仔细看你就会发现,这段代码虽然很长,但是很简单就只有两个方法,一个用来授权,一个用来分享。代码拷过去就可以了,不用改动。要改的只有一个地方,分享到不同的平台的时候改成对应的平台就可以了。
QQ平台 SHARE_MEDIA.QQ
QQ空间平台 SHARE_MEDIA.QZONE
新浪微博 SHARE_MEDIA.SINA
微信朋友圈 SHARE_MEDIA.WEIXIN_CIRCLE
经过以上八步,分享基本上就已经完成了。还有一点需要注意的就是把注册的ID跟key或者Secret绑定到友盟的后台。进入自己创建的友盟移动应用--组件--社会化分享--设置。即可绑定