安卓快速集成分享SDK

许多手机应用都少不了分享到其他社交软件的功能,今天菜鸡有兴趣试了一下shareSDK的安卓接入,感觉方便好用,所以写一篇博客记录一下使用方法。

首先打开android studio建立一个新项目


然后去shareSDK的官网下载shareSDKforandroid

http://www.mob.com/downloads/


点击安卓图标进入下载SDK


大家随意选择上面的平台即可,下载SDK的zip后加压,打开shareSDK for android 文件夹,打开快速集成QuickIntegrater.jar


打开以后可以选择要集成的平台,不过先不忙点确定,这里一定要保证包名一致,所以去项目的androidMainfest.xml文件下拷贝包名并粘贴



点击确定以后,文件夹中出现一个Sample文件夹,等会就用这个文件来接入。

首先进入Sample文件夹下面的libs文件夹如下图


可以看到这里有很多jar文件,需要把它们都导入项目里面,然后进入项目,app,把刚才的一堆jar文件复制,拷贝到项目的libs文件夹中。


拷贝完成如图


但这样还不行,还需要将它们添加进来,按住ctrl左键点击全选,右键选择Add as Library添加进来,结果如下图


然后回到Sample文件下,把assets文件夹整个拷贝到app,src,main文件下面,效果图如下


再次回到Sample文件夹,把res文件夹下面的所有文件夹拷贝到app,src,main,res文件夹下,注意不可以直接将res文件夹全部粘贴,否则文件夹重名可能导致没有分享图标


最后,将Sample文件夹src目录下的cn文件夹整个拷贝到app,src,main,Java目录下,如图


现在导入已经全部完成,请大家检查一下上面的路径有没有错误,没有错误的话,下面先回到Mob官网,注册一个账号,并进入Mob开发者后台,如图


这样主要是为了获取自己的Appkey和App secret,点击显示可以看到Appsecret,如果不获取那么上面接入的SDK是不能使用的。

获取完毕以后,集成就相当于完成了,下面先添加权限,打开androidMainFest.xml添加如下权限(下面的代码均可直接粘贴使用)

<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"/>
<!-- 蓝牙分享所需的权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
然后添加SDK的activity,整个项目的application如下

<application
    android:name="com.mob.MobApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <!-- 以MobApplication作为项目Application -->
        android:name="com.mob.MobApplication">

        <!-- 其它的activity -->

        <!-- ShareSDK的activity -->
        <activity
            android:name="com.mob.tools.MobUIShell"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="keyboardHidden|orientation|screenSize"
            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>

            <!-- 调用新浪原生SDK,需要注册的回调activity -->
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

            <!--集成line客户端登录授权,需要添如下格式的过滤器-->
            <intent-filter>
                <data android:scheme="line.1477692153" />
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

        </activity>
        <!-- 填写您从Mob开发者后台中得到的Appkey和AppSecret -->
        <meta-data android:name="Mob-AppKey" android:value="您的AppKey"/>
        <meta-data android:name="Mob-AppSecret" android:value="您的AppSecret"/>
    </application>

注意最后的两行,输入你自己的AppKey和AppSecret,这样活动就写完了

    <!--微信分享回调 -->
<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />

    <!--易信分享回调 -->
<activity
android:name=".yxapi.YXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />

    <!-- 支付宝分享回调 -->
<activity
android:name=".apshare.ShareEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"/>
如果想要加入上面的三个,那么需要到官网去注册你的你的应用程序并等待审核,一般要1到3天,然后分享功能是免费的,而登录功能需要收费,这里程序就不加上面的三种了。如果大家想要加入如微信登录这种功能的话,需要申请下来以后,在ShareSDK.xml中替换id和AppKey


最后在androidMainFest.xml下面,Application中添加android:name="com.mob.MobApplication"

<application
    android:name="com.mob.MobApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"

然后添加

<meta-data android:name="Mob-AppKey" android:value="你的AppKey"/>
<meta-data android:name="Mob-AppSecret" android:value="你的AppSecret"/>
更改AppKey和Appsecret,这样所有配置都完成了,接下来只需要添加一个按钮使分享界面能显示出来即可

打开layout文件夹下面的activityMain.xml,写一个Button

<Button
    android:id="@+id/share"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="click me to share"/>
在MainActivity.java中

Button button=(Button)findViewById(R.id.share);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Toast.makeText(getApplicationContext(),"123456",Toast.LENGTH_SHORT).show();
        showShare();
    }
});

showShare()如下

private void showShare() {
        OnekeyShare oks = new OnekeyShare();
//关闭sso授权
        oks.disableSSOWhenAuthorize();

// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间等使用
        oks.setTitle("标题");
// titleUrl是标题的网络链接,QQ和QQ空间等使用
        oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段
        oks.setText("我是分享文本");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
//oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
// url仅在微信(包括好友和朋友圈)中使用
        oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setComment("我是测试评论文本");
// site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.setSiteUrl("http://sharesdk.cn");

// 启动分享GUI
        oks.show(this);
    }
不要忘记添加

import android.widget.Button;
import android.widget.Toast;

import cn.sharesdk.onekeyshare.OnekeyShare;
OK,现在运行到真机上或者打包APK即可在手机上调用分享功能了,我这个是新建的项目按上面一步步来的,最后效果如下


过几天应该会写cocos2d-x集成的功能,感觉比这个难多了

拒绝抄袭,从我做起

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值