首页 > 代码库 > Android分享到微信等社交平台教程

Android分享到微信等社交平台教程

在Android手机app上加入分享到微信等平台的功能,使用的是第三方的开源组件,友推SDK。



集成分为以下几个步骤:

1. 在友推官网注册,添加要集成友推sdk的 app信息,并获取appkey。

2.下载最新版的友推sdk包,包里提供了集成demo。

3.申请社交平台appkey
   包括的社交平台有:微信、新浪微博、腾讯微博、QQ空间、QQ、微信好友、人人等。

4.引用友推库项目
   将youtui-lib项目库和应用工程放在同一个目录下

5.把sdk中的youtui-share-demo工程里的assets下的youtui_sdk.xml拷贝到你的应用里的assets下。 

6.修改youtui_sdk.xml

   其中微信和朋友圈,需要到微信开发平台提交你的应用,申请得到key。其中一个比较重要的地方,即应用签名。用微信提供的Gen_Signature_Android.apk。输入你的包名。就可以得到你的应用签名了。详细代码看下面 


<?xml version="1.0" encoding="utf-8"?>
<KeyInfo>
  
    <!--
    分享平台的注册信息,一定要填入在相应平台注册的正确信息,不然应用无法完成授权,
也无法进行分享,enable属性决定是否分享该平台
    -->
    <!-- 友推sdk注册地址 : http://youtui.mobi/ -->
    <YouTui AppKey="669757" />
    <!-- 微信和朋友圈注册:https://open.weixin.qq.com/ -->
    <Wechat
        AppId="wx36de4ec7c07c3589"
        Enable="true" />
    <WechatMoments
        AppId="wx36de4ec7c07c3589"
        Enable="true" />
    <!-- 新浪微博注册地址:http://open.weibo.com/ -->
    <SinaWeibo
        IsNoKeyShare="true"
        AppKey="2502314449"
        AppSecret="df10502d7b422937adea431cd985904a"
        Enable="true"
        RedirectUrl="http://youtui.mobi/weiboResponse" />
    <!-- QQ,QQ空间注册地址:http://open.qq.com/ -->
    <QQ
        AppId="1101255276"
        AppKey="h4sOXgtTtsqRjoOq"
        Enable="true" />
    <QZone
        AppId="1101255276"
        AppKey="h4sOXgtTtsqRjoOq"
        Enable="true" />
    <!--腾讯微博注册地址:http://dev.t.qq.com/  -->
    <TencentWeibo
        IsNoKeyShare="true"
        AppKey="801443192"
        AppSecret="45d65f2d2650637c96ece74f4a67b686"
        Enable="true"
        RedirectUrl="http://yt.bidaround.cn/" />
    <!-- 人人注册地址: http://dev.renren.com/ -->
    <Renren
        AppId="244110"
        AppKey="b1a80ac1aa694090bfb9aa3a590f2161"
        Enable="true"
        SecretKey="506ccdbda36046d197801e79c4ebba23" />
  
    <ShortMessage Enable="true" />
  
    <Email Enable="true" />
       <!-- 复制链接 -->
  
    <CopyLink Enable="true" />
     
    <More Enable="true"/>
  
  
</KeyInfo>


7.修改AndroidManifest.xml,添加权限和注册activity等信息。详细代码看下面 

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />    
  
    <!-- 缓存资源优先存入SDcard -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
   
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <!-- 用于加载图片 -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <!-- 用于人人SSO登陆 -->
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <!-- 用于人人SSO登陆 -->
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <!-- 用于人人SSO登陆 -->
      <!-- youtui -->        
          <!-- 微信分享需要注册该activity -->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:exported="true"
            android:launchMode="singleTask"
            android:theme="@android:style/Theme.Translucent"
            >
        </activity>
        <!-- qq回调需要注册该activity -->
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!-- qq授权需要注册该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" />
                <data android:scheme="tencent1101255276" />
            </intent-filter>
        </activity>
        <!-- 人人授权需要注册的activity -->
        <activity
            android:name="com.renn.rennsdk.oauth.OAuthActivity"
            android:configChanges="orientation|navigation|keyboardHidden" />
        <!-- 分享界面 -->
        <activity
            android:name="cn.bidaround.ytcore.activity.ShareActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
            <!-- 新浪微博分享回调需要设置 -->
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <!-- 应用授权 activity-->
        <activity
            android:name="cn.bidaround.ytcore.login.AuthActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!-- 友推积分activity -->
        <activity
            android:name="cn.bidaround.point.PointActivity" />
         <meta-data
            android:name="YOUTUI_CHANNEL"
            android:value=http://www.mamicode.com/"HIAPK_yt" >>


8.修改你的应用程序。在你需要添加分享的地方。增加一下代码即可分享。详细代码看下面 

try {
// ShareData使用内容分享类型分享类型
ShareData whiteViewShareData = http://www.mamicode.com/new ShareData();>


9.当然不要忘记了在你的第一个Activity的onCreate方法里加入:

YtTemplate.init(this);

10.应用退出时:

YtTemplate.release(this);


Android分享到微信等社交平台教程