ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。我们可以使用ShareSdk集成分享功能。以下介绍安卓平台下使用eclipse工具集成ShareSDK的详细步骤。
首先,我们在Mob官网标题栏找到"SDK下载",选择打开"ShareSDK For Android",选择下载最新的离线sdk,如下图,点击右上角的"下载官方DEMO源码"。
下载后解压,如下图。打开ShareSDK for Android文件夹,然后点击运行QuickIntegrater.jar
点击确定,生成一个名字为ShareSdk文件夹,打开。把下列的文件夹对应复制覆盖到自己的项目目录下。
mainifest增加以下权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<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.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
引入mob application:
<application
android:name="com.mob.application"
.......
如果自己有自定义的application
可以直接extends MobApplication
引入appkey和appsecrect:
通过管理后台创建应用即可获取
<meta-data
android:name="Mob-AppKey"
android:value="XXXXXXX" />
<meta-data
android:name="Mob-AppSecret"
android:value="XXXXXXX" />
这时候只需要调用MobSDK.init(context)
如果在代码上写不在manifest配置,则
MobSDK.init(context, "你的appkey", "你的appsecrect");
引入activity:
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
<!-- 调用新浪原生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>
</activity>
<activity
android:name="com.eshore.transporttruck.wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="cn.sharesdk.tencent.qq.ReceiveActivity"
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="tencentXXXX" />XXXX换成qq的appid
</intent-filter>
</activity>
SDK初始化:
MobSDK.init(mActivity);
分享函数:
private void showShare() {
OnekeyShare oks = new OnekeyShare();
// 关闭sso授权
oks.disableSSOWhenAuthorize();
// 分享时Notification的图标和文字 2.5.9以后的版本不调用此方法
// oks.setNotification(R.drawable.ic_launcher,getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle("标题");
// titleUrl是标题的网络链接,仅在人人网和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");
oks.setSilent(false);// 直接分享
// 启动分享GUI
oks.show(this);
}
assets下的ShareSdk.xml文件,需要到各第三方平台申请key后替换对应的值。
如果需要不显示某些第三方分享模块,可以在ShareSDK.xml的模块中设置Enable为false。
当以上所有步骤完成后,就可以了。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!