博主介绍:本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮助到您;
🍅点个关注不迷路!🍅
效果演示
一、build.gradle配置
dependencies { compile 'com.zftlive.android.library:feature-android-sharesdk:1.0.0' }
二、ShareSdk核心类
添加部分源码:步骤1中添加的依赖不包含ShareSdk中的核心类OnekeyShare.java,此类需要添加ShareSdk官网提供的部分源码;
文件代码下载地址:
三、添加权限
<!--分享权限-->
<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.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<!--蓝牙权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
四、assets文件配置
<?xml version="1.0" encoding="utf-8"?> <DevInfor> <!-- 说明: 1、表格中的第一项 <ShareSDK AppKey="api20" /> 是必须的,其中的AppKey是您在ShareSDK上注册的开发者帐号的AppKey 2、所有集成到您项目的平台都应该为其在表格中填写相对应的开发者信息,以新浪微博为例: <SinaWeibo Id="1" SortId="1" AppKey="568898243" AppSecret="38a4f8204cc784f81f9f0daaf31e02e3" RedirectUrl="http://www.mob.com" Enable="true" /> --> <ShareSDK AppKey = "androidv1101"/> <!-- 修改成你在sharesdk后台注册的应用的appkey"--> <!-- ShareByAppClient标识是否使用微博客户端分享,默认是false --> <SinaWeibo Id="1" SortId="3" AppKey="568898243" AppSecret="38a4f8204cc784f81f9f0daaf31e02e3" RedirectUrl="http://www.sharesdk.cn" ShareByAppClient="true" Enable="true" /> <TencentWeibo Id="2" SortId="2" AppKey="801307650" AppSecret="ae36f4ee3946e1cbb98d6965b0b2ff5c" RedirectUri="http://sharesdk.cn" Enable="true" /> <!-- ShareByAppClient标识是否使用微博客户端分享,默认是false --> <QZone Id="3" SortId="1" AppId="100371282" AppKey="aed9b0303e3ed1e27bae87c33761161d" ShareByAppClient="true" Enable="true" /> <!-- Wechat微信和WechatMoments微信朋友圈的appid是一样的; 注意:开发者不能用我们这两个平台的appid,否则分享不了 微信测试的时候,微信测试需要先签名打包出apk, sample测试微信,要先签名打包,keystore在sample项目中,密码123456 BypassApproval是绕过审核的标记,设置为true后AppId将被忽略,故不经过 审核的应用也可以执行分享,但是仅限于分享文字和图片,不能分享其他类型, 默认值为false。此外,微信收藏不支持此字段。 --> <Wechat Id="4" SortId="4" AppId="wx617c77c82218ea2c" AppSecret="fb335de320d92f7cf09b149334d9c705" BypassApproval="false" Enable="true" /> <WechatMoments Id="5" SortId="5" AppId="wx617c77c82218ea2c" AppSecret="fb335de320d92f7cf09b149334d9c705" BypassApproval="false" Enable="true" /> <WechatFavorite Id="6" SortId="6" AppId="wx617c77c82218ea2c" AppSecret="fb335de320d92f7cf09b149334d9c705" Enable="true" /> <!-- ShareByAppClient标识是否使用微博客户端分享,默认是false --> <QQ Id="7" SortId="7" AppId="100371282" AppKey="aed9b0303e3ed1e27bae87c33761161d" ShareByAppClient="true" Enable="true" /> <Facebook Id="8" SortId="8" ConsumerKey="107704292745179" ConsumerSecret="38053202e1a5fe26c80c753071f0b573" RedirectUrl="http://mob.com" Enable="true" /> <Twitter Id="9" SortId="9" ConsumerKey="LRBM0H75rWrU9gNHvlEAA2aOy" ConsumerSecret="gbeWsZvA9ELJSdoBzJ5oLKX0TU09UOwrzdGfo9Tg7DjyGuMe8G" CallbackUrl="http://mob.com" Enable="true" /> <Renren Id="10" SortId="10" AppId="226427" ApiKey="fc5b8aed373c4c27a05b712acba0f8c3" SecretKey="f29df781abdd4f49beca5a2194676ca4" Enable="true" /> <KaiXin Id="11" SortId="11" AppKey="358443394194887cee81ff5890870c7c" AppSecret="da32179d859c016169f66d90b6db2a23" RedirectUri="http://www.sharesdk.cn" Enable="true" /> <Email Id="12" SortId="12" Enable="true" /> <ShortMessage Id="13" SortId="13" Enable="false" /> </DevInfor>
五、分享界面
public void showShare(Context context, String platformToShare, boolean showContentEdit) { OnekeyShare oks = new OnekeyShare(); oks.setSilent(!showContentEdit); if (platformToShare != null) { oks.setPlatform(platformToShare); } //ShareSDK快捷分享提供两个界面第一个是九宫格 CLASSIC 第二个是SKYBLUE oks.setTheme(OnekeyShareTheme.CLASSIC); // 令编辑页面显示为Dialog模式 oks.setDialogMode(); // 在自动授权时可以禁用SSO方式 oks.disableSSOWhenAuthorize(); //oks.setAddress("12345678901"); //分享短信的号码和邮件的地址 oks.setTitle("健身舞蹈系统"); oks.setTitleUrl("健身舞蹈的信息分享"); oks.setText("健身舞蹈系统信息分享"); oks.setImageUrl("https://img2.baidu.com/it/u=1444528984,3503324970&fm=253&fmt=auto&app=138&f=JPEG?w=1067&h=500"); oks.setUrl("http://www.mob.com"); //微信不绕过审核分享链接 //oks.setFilePath("/sdcard/test-pic.jpg"); //filePath是待分享应用程序的本地路劲,仅在微信(易信)好友和Dropbox中使用,否则可以不提供 oks.setComment("分享"); //我对这条分享的评论,仅在人人网和QQ空间使用,否则可以不提供 oks.setSite("ShareSDK"); //QZone分享完之后返回应用时提示框上显示的名称 oks.setSiteUrl("http://mob.com");//QZone分享参数 oks.setVenueName("ShareSDK"); oks.setVenueDescription("This is a beautiful place!"); // 启动分享 oks.show(context); }
关注点赞
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻