android分享到新浪微博,腾讯等各大网站

来源:互联网 发布:武汉破获网络贩枪 编辑:程序博客网 时间:2024/06/04 18:05

转载请注明出处

下载最新版sdk的zip包,解压将其中的bshare_android_sdk1.0a.jar释放到本地目录,Eclipse用户右键您的工程根目录,选择Properties -> Java    Build Path     -> Libraries, 然后点击Add External JARs... 选择指向      bshare_android_sdk1.0a.jar   的路径,点击OK,即导入成功。 

配置AndroidManifest.xml 添加如下权限

android.permission.INTERNET 用于访问Internet

android.permission.ACCESS_WIFI_STATE 用于判断WIFI是否开启状态

android.permission.WRITE_APN_SETTINGS 用于获取APN设置信息android.permission.ACCESS_NETWORK_STATE 用于判断网络状态

红色部分为添加样例,如果APP已有设置相关权限则无需重复设置

<manifest ……="">

<application ……="">

    ……

<activity ……=""></activity>

</application>

<uses-sdk android:minsdkversion="4"></uses-sdk>

<uses-permission android:name="android.permission.INTERNET" >

</uses-permission>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >

</uses-permission>

<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" >

</uses-permission>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >

</uses-permission>

</manifest>

导入资源文件

将sdk的zip包中resource文件夹下的内容复制到工程res文件夹。resource文件夹中的图片文件和layout布局文件可以修改(例如修改支持API方式分享平台显示的顺序,窗体布局样式等),但是请不要修改layout布局文件已有元素的类型和id号,否则代码将无法正确执行。

添加代码

添加 import com.bshare.core.*

需要调用分享功能地方调用BShare这个类的静态方法即可。

BShare类的静态方法有:

public static void showShareList 显示5个支持API方式分享的平台列表窗体

public static void showMoreList 显示其余使用网页方式分享的平台列表窗体

public static void dismissShareList()关闭showShareList方法开启的窗体

public static void share 直接向指定平台分享内容

public static void removeCredential 删除指定平台的授权信息

public static void allowVerify 在调用share的时候,如果用户未授权,且设置允许发起授权时,则弹出授权窗体请求用户授权应用,反之则不显示窗体,直接返回授权失败。

public static boolean isAllowVerify ()是否允许在调用share方法时发起授权

BShare类的静态方法包含的参数意义说明:

Context ctx 当前Activity的Context

BSShareItem shareItem 要分享的信息,BSShareItem类的结构见下文。

BShareHandler handler 分享事件处理器,可处理的事件有onShareStartonShareCompleteonVerifyError其中onShareStart与onShareComplete在支持OAUTH的5个平台为成对出现,onShareStart表示分享到对应平台的流程开始,此流程只有在用户已授权的情况下才会开始,onShareComplete表示分享流程已结束(包含成功或失败两种可能)。对于跳转式分享onShareComplete不会被触发,仅会触发onShareStart。

注:handler的事件并不保证发生在UI线程中

String appkey 支持OAUTH授权平台需要的app key或者被称为consumer key

String appSecret支持OAUTH授权平台需要的app secret或者被称为consumer key secret

String accessToken支持OAUTH授权平台在授权后获取到的access token

String accessTokenSecret 支持OAUTH授权平台在授权后获取到的access token secret

BSShareItem类字段说明:

PlatformType platform 要分享的平台,使用share时,通过该值确定要分享的目标平台

String title 要分享内容的标题

String url 要分享的链接

String content 分享到支持OAUTH的5个平台(新浪微博,搜狐微博,腾讯微博,开心网,人人网)时要显示的内容。如果为空则默认使用title加上url做为分享内容

byte[] img 分享到支持OAUTH的5个平台时,除人人网外,要附带的图片

String imageUrl 通过浏览器跳转方式分享到支持图片参数的平台时,要分享的图片URL。Img和imageUrl可以同时填写,互不干扰,注意,imageUrl参数的图片不会作为img的内容被分享到支持OAUTH的5个平台。

配置说明

bShare android SDK通过Config类为分享行为做配置,如果不配置则使用默认状态。支持的属性有

boolean needStatistics是否需要在OAUTH分享后统计分享数据到bShare,默认为true

String publisherUUID 若需要统计分享信息,则需将从bShare站点获取到的uuid填入

boolean shouldUseSinaOauth 是否通过OAUTH方式分享到新浪微博,默认为true

boolean shouldUseSohuOauth 是否通过OAUTH方式分享到搜狐微博,默认为true

boolean shouldUseQQMBOauth 是否通过OAUTH方式分享到腾讯微博,默认为true

boolean shouldUseKaixinOauth 是否通过OAUTH方式分享到开心网,默认为true

boolean shouldUseRenrenOauth 是否通过OAUTH方式分享到人人网,默认为true

boolean shouldDisplayMore 是否显示“更多”按钮在分享面板(通过showShareList方法调用出的界面),默认为true

boolean autoCloseShareList 是否在使用OAUTH分享完毕后自动关闭弹窗,默认为false

String sinaAppkey 当前应用在新浪微博的app key

String sinaAppSecret 当前应用在新浪微博的app secret

注:如果在这里设置了appkey和secret则share时无需再传入此二参数,下面的平台意义相同

String sinaAccessToken 当前应用在新浪微博授权后得到的access toke

String sinaAccessSecret 当前应用在新浪微博授权后得到的access token secret

注:如果在这里设置了accessToken和accessSecret,则调用shareList时,用户点击平台将直接使用上述参数分享到平台,不会再启动授权过程,除非授权失效(特指人人网),下面的平台意义相同

String sohuAppkey 当前应用在搜狐微博的app key

String sohuAppSecret 当前应用在搜狐微博的app secret

String sohuAccessToken 当前应用在搜狐微博授权后得到的access toke

String sohuAccessSecret 当前应用在搜狐微博授权后得到的access token secret

String tencentAppkey 当前应用在腾讯微博的app key

String tencentAppSecret 当前应用在腾讯微博的app secret

String tencentAccessToken 当前应用在腾讯微博授权后得到的access toke

String tencentAccessSecret 当前应用在腾讯微博授权后得到的access token secret

String kaixinAppkey 当前应用在开心网的app key

String kaixinAppSecret 当前应用在开心网的app secret

String kaixinAccessToken 当前应用在开心网授权后得到的access toke

String kaixinAccessSecret 当前应用在开心网授权后得到的access token secret

String renrenAppkey 当前应用在人人网的app key

String renrenAppSecret 当前应用在人人网的app secret

String renrenAccessToken 当前应用在人人网授权后得到的access toke

String renrenAccessSecret 当前应用在人人网授权后得到的access token secret

List<PlatformType> moreList 要显示在“更多”界面的平台列表,默认平台为(显示顺序同设置顺序):

PlatformType.EMAIL, PlatformType.QZONE,PlatformType.QQXIAQYOU, PlatformType.NETEASEMB,PlatformType.BAIDUCANG, PlatformType.BAIDUHI,PlatformType.IFENGMB, PlatformType.TWITTER,PlatformType.FACEBOOK, PlatformType.BGOOGLE,PlatformType.DELICIOUS, PlatformType.EVERNOTE

注:

微博及开心网、人人网的app keyapp secret可以不设置,如果不设置则默认使用bShareapp keyapp secret

原创粉丝点击