ShareSDk的使用,实现一键分享微信好友、朋友圈、QQ
事先说明:
ShareSDK默认QQ可以分享,微信分享则需要在微信的开放平台上认证并申请应用填入对应信息即可
微信认证和申请应用涉及到打包和签名APK,请大家自行查询相关资料进行操作
关于ShareSDK的开发,参考ShareSDK官网为准
步骤一:在ShareSDk官网注册账号,并创建应用:

步骤二:在ShareSDk官网下载所需要的分享的SDK(这里只是介绍微信和QQ两种,其他都一样):

步骤三:将下载好的包解压,在Android Studio中导入两个Module,在ShareSDk for android文件夹Libs目录下2个文件夹,即是要导入的Module

导入之后,项目结构多了一个oneKeyShareNew和shareSDK:

步骤四:接着右键oneKeyShareNew,open Module Settings,添加对ShareSDK的依赖

步骤五:重复上面步骤,在自己的项目中添加对oneKeyShareNew的依赖

步骤六:在你的项目中创建一个Assets的目录,将ShareSDK for Android/Res目录下的ShareSDK.xml复制到Assets

步骤七:将ShareSDK for Android/Src目录下的wxapi文件夹复制到你的项目中

步骤八:添加权限
- <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" />
步骤九:在ShareSDK.xml中添加ShareSDK应用APPKey
- <ShareSDK
- AppKey = "1185fd429f4da"/> <!-- 修改成你在sharesdk后台注册的应用的appkey"-->
步骤十:添加所ShareSDK需要的manifests配置
- <!-- shareSDK begin -->
- <activity
- android:name="com.mob.tools.MobUIShell"
- android:configChanges="keyboardHidden|orientation|screenSize"
- android:screenOrientation="portrait"
- android:theme="@android:style/Theme.Translucent.NoTitleBar"
- android:windowSoftInputMode="stateHidden|adjustResize">
- <intent-filter>
- <data android:scheme="tencent1104646053" />
-
- <action android:name="android.intent.action.VIEW" />
-
- <category android:name="android.intent.category.BROWSABLE" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </activity>
- <!-- 微信分享回调 -->
- <activity
- android:name=".wxapi.WXEntryActivity"
- android:configChanges="keyboardHidden|orientation|screenSize"
- android:exported="true"
- android:screenOrientation="portrait"
- android:theme="@android:style/Theme.Translucent.NoTitleBar" />
- <!-- shareSDK end -->
步骤十一:在代码中可以使用官方文档代码进行分享了
- @Override
- public void onCreate() {
- super.onCreate();
-
- ShareSDK.initSDK(this);
- }
-
-
-
- private void showShare() {
-
- ShareSDK.initSDK(getActivity());
- OnekeyShare oks = new OnekeyShare();
-
- oks.disableSSOWhenAuthorize();
-
-
-
- oks.setTitle("分享");
-
- oks.setTitleUrl("http://sharesdk.cn");
-
- oks.setText("我爱京东");
-
-
-
- oks.setUrl("http://sharesdk.cn");
-
-
-
- oks.setSite("我爱京东");
-
- oks.setSiteUrl("http://sharesdk.cn");
-
- oks.show(getActivity());
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
-
- ShareSDK.stopSDK(getActivity());
- }
步骤十二:完成以上步骤只能对QQ进行分享,如果还想对微信分享,则需要在微信开放平台创建应用获取APPID和APPSecret,并将其填入ShareSDK中对应的标签中即可。这里大家可能集成后还是不能分享,很有可能你是直接用usb调试安装的APK或者是debug的APK,这个时候并不是你自己build签名好的APK,所以大家先build签名好的APK再传到手机安装。

步骤十三:查看效果图(QQ和weChat)

其他效果图(新浪微博、腾讯微博、QQ空间)
