Android 友盟分享的一点个人经验,建议严格按照文档操作

1.大致开发步骤:申请友盟账号,下载相关SDK,根据文档配置相关资源,jar包,及在清单文件配置权限及相应的代码,key值(友盟key,QQkey)。注意,打包时代码混淆,在proguard.flags文件下配置。其中在各大开放平台申请开发者账号及添加项目拿到所需的key值,需要至少一周的预备时间。(具体详情见文档)

2.需要注意的问题:如果之前嵌入了微信支付的jar,要去掉,否则会崩溃;QQ及QQ空间公用一套key值,需要在友盟平台上绑定,微信,朋友圈 公用一套key值,不需要绑定;微信平台下项目的AppID值必须和打包签名的keystore下的MD5绑定,其中MD5由微信签名工具生成或打包时显示的MD5值( 按照“  去掉冒号(:),大写转小写  ”的规则装换),格式形如3512438020d5e19759f9a2ae7776aca9。 (具体详情见文档)
 
 
1.清单文件AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android"   package="com.umeng.example"   android:versionCode="1"   android:versionName="1.0" >    <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>               <actionandroid:name="android.intent.action.VIEW" />                <categoryandroid:name="android.intent.category.DEFAULT" />                <categoryandroid:name="android.intent.category.BROWSABLE" />                <!-- 100424468,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID-->               <dataandroid:scheme="tencent100424468" />             </intent-filter>       </activity>       <activityandroid: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>   <uses-sdkandroid:minSdkVersion="8" />    <!-- ###################声明SDK使用的相关权限###################### -->   <!-- 检测网络状态 -->   <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />      <!-- 获取mac地址作为用户的备用唯一标识 -->   <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" />         <!-- 获取用户手机的IMEI,用来唯一的标识用户 -->   <uses-permissionandroid:name="android.permission.READ_PHONE_STATE" />          <!-- 缓存资源优先存入SDcard -->   <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <!-- 允许应用程序联网,以便向我们的服务器端发送数据 -->   <uses-permissionandroid:name="android.permission.INTERNET" />    <!-- QQ、QQ空间所需权限 --><uses-permissionandroid:name="android.permission.GET_TASKS" /></manifest>

2.配置sso授权回调

@OverrideprotectedvoidonActivityResult(int requestCode, int resultCode, Intent data){   super.onActivityResult(requestCode, resultCode, data);   /**使用SSO授权必须添加如下代码 */    UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(requestCode) ;   if(ssoHandler !=null){       ssoHandler.authorizeCallBack(requestCode, resultCode, data);    }}

 

3.界面点击分享及分享到微信和朋友圈

UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share");
  // 设置分享内容
  mController.setShareContent("友盟社会化组件(SDK)让移动应用快速整合社交分享功能,http://www.umeng.com/social");
  // 设置分享图片, 参数2为图片的url地址
  mController.setShareMedia(new UMImage(mContext,
    "http://www.umeng.com/images/pic/banner_module_social.png"));
  mController.getConfig().removePlatform( SHARE_MEDIA.RENREN, SHARE_MEDIA.DOUBAN);
  title_right.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    // 是否只有已登录用户才能打开分享选择页
    mController.openShare((Activity)mContext, false);
   }
  });

 

微信分享

1.集成代码

String appID ="wx967daebe835fbeac";String appSecret ="5fa9e68ca3970e87a1f83e563c8dcbce";// 添加微信平台UMWXHandler wxHandler =new UMWXHandler(getActivity(),appId,appSecret);wxHandler.addToSocialSDK();// 添加微信朋友圈UMWXHandler wxCircleHandler =new UMWXHandler(getActivity(),appId,appSecret);wxCircleHandler.setToCircle(true);wxCircleHandler.addToSocialSDK();
 2.回调注册

<activity  android:name=".wxapi.WXEntryActivity"  android:theme="@android:style/Theme.Translucent.NoTitleBar"  android:configChanges="keyboardHidden|orientation|screenSize"  android:exported="true"  android:screenOrientation="portrait" />

3.微信内容分享

mController.getConfig().setSsoHandler(new SinaSsoHandler());
  qzoneImage = new UMImage(mContext, BitmapFactory.decodeResource(
    getResources(), R.drawable.logo));

 WeiXinShareContent weixinContent = new WeiXinShareContent();
  weixinContent.setShareContent("xxxxxxx");
  weixinContent.setTitle("xxxxxxx");
  weixinContent.setTargetUrl("xxxxxxxxxxx");
  weixinContent.setShareImage(qzoneImage);
  mController.setShareMedia(weixinContent);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值