您的位置:首页 > 产品设计 > UI/UE

vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践

2018-03-30 16:08 1456 查看
vue已经是一个应用比较广泛的框架,vue本身之保留了一些基本的功能实现(已确保整个框架尽可能的’轻量’).在实际的开发过程中总要解决各种各样的问题.今天我就来写一些在通过cordova打包成android app后调用分享的问题(为什么不写ios? 因为我不会啊!)

如何将vue项目打包成android项目?这我就不赘述了,网上找下cordova有一堆.

那么如何使用sharesdk实现分享呢?

首先,我们需要Android 开发神器,Android studio(去找度娘吧.)

使用android studio打开我们通过cordova add的Android项目

就是介个目录:



因为cordova打包编译的gradle版本较低,我用的已经是Android studio3.0了,我们添加

maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/‘};//解決gradle低版本報錯,如下图;



注意java包import失败 红名:在红名后面Alt+Enter 导入;

minSdkVersion 最好改为16;

编译项目,解决各种报错后终于能运行起来了.

紧接着就是引入sharesdk了:

这里我使用快速集成的方式:

详情可参照这里

引入之后就通过js来调用写在插件里的分享方法,这里用到了cordova的自定义插件,可以参照这位大大的博客:地址

接下来就是调用分享了:

1.初始化:这里我是在MainActivity 的onCreate方法中:



2.在自定义插件类NewPlugin中调用:



showShare()方法官方文档有例子,这里就不贴了.

3.js中调用(这里我的vue项目中yj引入了cordova.js,如果里的项目没引入的话需要你手动引入):


需要注意的是,我的项目中使用了腾讯X5,如果是android版本6+的话,看看有没有这一段:



/* Pay attention:

* Error maybe occur here!!!

* If your cordova-android version below 6+,this method about EvalBridgeMode() may be not existed.

* Please comment out below the lines 126-127.

*/

if(Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) {

System.err.println(“这里加了SDK_INT”+Build.VERSION.SDK_INT+”***********JELLY_BEAN_MR2:”+Build.VERSION_CODES.JELLY_BEAN_MR2);

nativeToJsMessageQueue.addBridgeMode(new NativeToJsMessageQueue.EvalBridgeMode(this, cordova));

}

大坑啦!!!会报错:CordovaBridge: Ignoring exec() from previous page load.

现在不通过git连接下载的X5插件貌似没事,有事的看下吧!

至此测试分享能分享出去了,上图





qq分享截图


收工!正式参数的话小伙伴们去各个开发平台申请吧,哈哈!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  exec sharesdk cordova
相关文章推荐