当前位置:首页  综合精选

综合精选

sharesdk集成 分享到微信(sharesdk)

2024-02-13 18:34:03
导读 你们好,最近小活发现有诸多的小伙伴们对于sharesdk集成 分享到微信,sharesdk这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下...

你们好,最近小活发现有诸多的小伙伴们对于sharesdk集成 分享到微信,sharesdk这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、1,导入 ApkPlug 框架

2、将 Bundle2.7.5-Dev.jar 和 ApkplugCloudService1.8.0-Release.jar 拷贝到主应用 libs 目录下

3、Bundle2.7.5-Dev.jar 是 apkplug 核心库 (v2.7.5 版本以后只需要该文件即可不在需 要 libndkfoo.so)

4、ApkplugCloudService1.8.0-Release.jar 是 apkplug 插件托管服务 SDK,我们用它下载 服务端的 ShareSDK 组件

5、2,导入 ShareSDK 调用库

6、将 PlugShareSDK1.0.0.jar 拷贝到主应用的 libs 目录下,它是 ShareSDK 组件的调用库, 它封装了 ShareSDK 组件的调用接口,以及如果从 apkplug 插件托管服务下载组件的业务 逻辑。

7、3,配置相关权限

8、<!-- APKPLUG框架须要的权限 -->

9、<uses-permission

10、android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

11、<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

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

13、<uses-permission android:name="android.permission.READ_PHONE_STATE" />

14、<!-- ShareSDK须要的权限 -->

15、<uses-permission android:name="android.permission.GET_TASKS" />

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

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

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

19、<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

20、<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

21、<uses-permission android:name="android.permission.READ_PHONE_STATE" />

22、<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

23、<uses-permission android:name="android.permission.GET_ACCOUNTS" />

24、4,配置相关 activity

25、<!-- APKPLUG框架须要的Activity配置 -->

26、<activity

27、android:name="org.apkplug.app.apkplugActivity" android:theme="@android:style/Theme.Translucent" android:configChanges="orientation|keyboardHidden"

28、/>

29、<!-- ShareSDK须要的Activity配置 -->

30、<!-- 微信分享回调 -->

31、<activity

32、android:name="cn.sharesdk.socialization.sample.wxapi.WXEntryActivity"

33、android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true"

34、android:screenOrientation="portrait" />

35、<!-- 易信分享回调 -->

36、<activity

37、android:name="cn.sharesdk.socialization.sample.yxapi.YXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:excludeFromRecents="true"

38、android:exported="true"

39、android:launchMode="singleTop" />

40、<activity

41、android:name="cn.sharesdk.framework.ShareSDKUIShell" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:windowSoftInputMode="stateHidden|adjustResize" >

42、<!--Adapter表示一个继承自cn.sharesdk.framework.authorize.AuthorizeAdapter的类, 这个类可以监听到页面的生命周期,也可以获取授权页面的各种UI控件。 开发者可以通过继承AuthorizeAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。

43、<meta-data android:name="Adapter" android:value="cn.sharesdk.demo.MyAdapter" />

44、-->

45、<!--Dropbox的SSO功能需要在此处添加一个对ACTION_VIEW事件的过滤器,其中的scheme是“db-”前缀再开发者应用的加上appKey。如果此过滤器不设置,则不能完成SSO功能授权-->

46、<intent-filter>

47、<data android:scheme="db-7janx53ilz11gbs" />

48、<action android:name="android.intent.action.VIEW" />

49、<category android:name="android.intent.category.BROWSABLE" />

50、<category android:name="android.intent.category.DEFAULT" />

51、</intent-filter>

52、<!--如果集成QQ分享,或者使用QQ客户端来进行QQ空间的分享,须要在此处添加一个对 ACTION_VIEW事件的过滤器,其中的scheme是“tenc ent”前缀再开发者应用的加上appId。如 果此过滤器不设置,则分享结束以后不能得到正确的回调-->

53、<intent-filter>

54、<data android:scheme="tencent100371282" />

55、<action android:name="android.intent.action.VIEW" />

56、<category android:name="android.intent.category.DEFAULT" />

57、<category android:name="android.intent.category.BROWSABLE" />

58、</intent-filter>

59、</activity>

60、注释说明:

61、ApkPlug 框架的插件 activity 是不需要在宿主配置的,但 ShareSDK 的这几个 Activity是负责与外部应用通信回调的,因此需要在宿主配置。

62、5,调用 ShareSDK 组件

63、以上步骤配置完成以后即可使用 ShareSDK 组件了,使用方式非常简单,以分享功能为例:

64、(1).首先初始化 ShareSdkAgent (在 PlugShareSDK1.0.0.jar 包中定义)

65、ShareSdkAgent agent=new ShareSdkAgent(this,frame.getSystemBundleContext());

66、(2).创建分享数据 Bean PlugShareInfo (在 PlugShareSDK1.0.0.jar 包中定义)

67、final PlugShareInfo oks=new PlugShareInfo(); oks.setAddress("北京市"); oks.setTitle("apkplug下sharesdk分享组件功能");

68、oks.setTitleUrl("http://www.apkplug.com"); oks.setText("apkplug是android下的模块化框架,ShareSDK是一个非常棒的社会化分享组件, 本着不重复造轮子的思想,我们将ShareSDK做成插件。详情见官网http://www.apkplug.com");

69、//oks.setImagePath(testImage); oks.setImageUrl("http://img.appgo.cn/imgs/sharesdk/content/2013/07/25/1374723172663.jpg"); oks.setUrl("http://www.apkplug.com");

70、//oks.setFilePath(testImage); oks.setComment("推荐使用apkplug框架减小应用体积,提供开发效率。");

71、oks.setSite(getString(R.string.app_name)); oks.setSiteUrl("http://mob.com"); oks.setVenueName("apkplug");

72、oks.setVenueDescription("apkplug是android下的模块化框架!");

73、oks.setLatitude(23.056081f); oks.setLongitude(113.385708f); oks.setDisableSSOWhenAuthorize(false);

74、(3).调用 ShareSDK 组件进行分享

75、agent.StatShareSDK(

76、new CheckInitCallBack(){

77、@Override

78、public void onSuccess(PlugShareSDK sharesdk) {

79、//ShareSDK组件已安装并启动完成

80、//执行分享功能 sharesdk.showShare(oks);

81、}

82、@Override

83、public void onFailure(int errorNo, String strMsg) {

84、}

85、});

86、6,操作演示

87、源码及 Demo 地址:http://store.apkplug.com/pluginfo?plugid=201503301441241

以上就是sharesdk这篇文章的一些介绍,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!