Android 使用ShardSDK实现社会化分享
1.下载ShardSDK:
地址: http://www.mob.com/
提示:要注册自己账户,因为会用到生成的App Key和App Secret(在网站上头像位置点击进入后台就可以看见)
2.文档参考
地址:http://dashboard.mob.com/ShareSDK/#/quickstarts/android
注意:参照文档的步骤操作,最后会报错:(少了com.mob.tools.MobUIShell),这时就把此文章中的4)这一步骤中的第二个activity加入AndroidManifest.xml文件中即可
其实就是几个步骤这里简单总结一下:
**1)**Windows下 首先确定已安装JDK,并正确配置JAVA_HOME和PATH系统变量
2)解压下载的文件,双击QuickIntegrater启动程序,复制生成的文件到项目中,(它不会覆盖你写的代码,所以大胆的点击yes就可以了)
3)添加以下的权限:
@permission
<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"/>
4)添加activity信息到AndroidManifest.xml文件中(要在Application里面哦!)
代码块
@requires_authorization
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
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>
</activity>
<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="tencent100371282" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
5)如果集成了微信或者易信,还需要添加下面两个Activity
@activity
<!--微信分享回调 -->
<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" />
6)在项目的文件assest文件夹下,这时会有一个ShardSDK.xml,如图:
7)在要分享的位置调用下面的这个方法
@method
private void showShare(){
ShareSDK.initSDK(context);
OnekeyShare oks = new OnekeyShare();
// 分享时Notification的图标和文字
oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
oks.setText("我是分享文本");
oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/05/21/oESpJ78_533x800.jpg");
// 启动分享GUI
oks.show(context);
}