博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phonegap分享到微信插件(安卓版)
阅读量:5993 次
发布时间:2019-06-20

本文共 3290 字,大约阅读时间需要 10 分钟。

hot3.png

#注意 该文档已过期,请参考我最新的博客,使用改进版的插件!

#首先,请下载插件包。本插件支持phonegap3.0以上版本

#插件的安装

第一步:将src下的文件拷贝到你的项目src目录下,打开WeiXin.java文件,在大约28行处你可以看到代码:

import com.example.weixin.R;

把这里的包名修改为你自己的包名。

第二步:把wxapi文件夹拷贝至你自己的包下面(不是src文件夹,而是你自己的主包下,在我的例子里应该是com->example->weixin文件夹下)。wxapi文件夹下的WXEntryActivity.java文件是用来接收微信的回调信息的,第一行的包名需要修改成你自己的。 现在,你需要在AndroidManifest..xml文件的Application标签中添加以下内容:

第三步:把libs文件夹下的libammsdk.jar拷贝至你的项目libs文件夹下,并添加至build path。(若不知如何操作,请参阅百度)

第四步:打开res->xml->config.xml文件,在末尾处添加下面的配置信息:

第五步:把icon文件夹下的图标拷贝至res->drawable文件夹中,这几个图标在实际中作为默认图标使用,为了避免java程序报错,必须加上。

第六步:把assets->www目录下的weixin.js文件拷贝至你的网页目录下,然后在cordova_plugins.js文件中module.exports数组中增加以下配置信息:

{ "file": "js/lib/weixin.js", //注意这里的路径修改为你的weixin.js所在的位置 "id": "com.phonegap.plugins.weixin.WeiXin", "clobbers": [ "navigator.weixin" ]}

好了,这样应该就安装成功了,非常繁琐,期待以后改进安装方法吧。^_^

#插件的使用

在上面的安装中提到过申请微信的appID,这一步很重要,在申请appID的过程中,需要注意正确填写包名和签名,任何一项信息的出错都会导致不能正常使用微信分享功能。(如有疑问,可以参阅百度中的相关资料)

首先,需要注册app:

navigator.weixin.register(appId, Success, Fail);

这里需要输入你的appID,Success为执行成功的回调,请在注册成功后调用其他方法,Fail为失败的回调

发送信息到微信:

navigator.weixin.send(args, Success, Fail);

args为json格式的配置信息,Success为执行成功的回调,Fail为失败的回调 需要注意的是,这里的Success只是成功打开微信的回调。我们知道,在打开微信后,用户还需要选择好友或输入一些文字后,点击确定才能完成分享操作,所以,还需要接收微信传递的信息才能确定分享是否成功。请看: navigator.weixin.sendCallBack = function(result){ //result为1:分享成功 2:分享失败 3:验证失败 4:未知错误 //编写你的逻辑 } 成功接收到微信的返回信息后,app将会执行这段方法。所以,我们需要重写这一段方法,加入自己的特定逻辑。

args的详细配置:

发送文字:

{ type: 'text', text: 'I want to send text', isSendToTimeline: true //if true, send to "朋友圈", else send to WeiXin friends.}

发送图片:

{type: 'image',imageType: 'path',//you can also use 'url' to send image.data: '/test.png',//SD card path or UrlisSendToTimeline: true}

发送音乐:

{type: 'music',url: 'http://x.x.x/test.mp3',title: 'title',desc: 'desc',isLowBand: true,//WeiXin will use different API when mobile in low band environment. default falseimgUrl: 'http://www.baidu.com/img/bdlogo.gif',//if not defined, use 'res/drawable/music.png'isSendToTimeline: true}

发送视频:

{type: 'video',url: 'http://x.x.x.swf',title: 'title',desc: 'desc',isLowBand: true,imgUrl: 'http://www.baidu.com/img/bdlogo.gif',//if not defined, use 'res/drawable/video.png'isSendToTimeline: true}

发送网页:

{type: 'webpage',url: 'http://www.baidu.com',title: 'title',desc: 'desc',imgUrl: 'http://www.baidu.com/img/bdlogo.gif',//if not defined, use 'res/drawable/webpage.png'isSendToTimeline: true}

发送文件:

{type: 'file',path: 'file:///test.mp3',//file's fullPathdesc: '我在发本地文件',title: '文件',imgUrl: 'http://www.baidu.com/img/bdlogo.gif',//if not defined, use 'res/drawable/file.png'isSendToTimeline: true}

示例代码,分享一段文字到朋友圈:

navigator.weixin.register('wx508f5112f588****',function(){ var args = { type: 'text', text: 'I want to send text', isSendToTimeline: true //if true, send to "朋友圈", else send to WeiXin friends. }; navigator.weixin.send(args,function(){ },function(){ alert('send fail'); });},function(){ alert('register fail');});

另外还有两个api:

取消注册app(我觉得没什么用,如果为了严谨可以在程序退出时加入~):

navigator.weixin.unregister(Success, Fail);

提示信息:

navigator.weixin.showToast(txt);

显示一段原生app的提示信息,可以尝试一下,比alert要美观的多。

任何问题,欢迎给我留言,定仔细回复!

转载于:https://my.oschina.net/crazymus/blog/296725

你可能感兴趣的文章
iReport中使用JavaBeanDataSource,父子报表,html标签,自定义格...
查看>>
自定义URL规则,URL传参
查看>>
关于加速和优化网页设计的文档收集
查看>>
Linux无法登录,提示module is unknown并闪退
查看>>
Calendar 日期类的使用
查看>>
Zookeeper-Watcher机制与异步调用原理
查看>>
RAID详解[RAID0/RAID1/RAID10/RAID5]
查看>>
解决ADT大量出现"Unexpected value from nativeGetEnabledTa
查看>>
借问主机怎样购?空间稳定必须有
查看>>
vue.js快速上手。
查看>>
Android listview与adapter用法(BaseAdapter + getView)
查看>>
ViewPager + Fragment实现滑动标签页
查看>>
android 随记
查看>>
给ecmall商城加上店铺浏览次数
查看>>
让history记录命令的历史执行时间
查看>>
TiDB 2.1 GA Release Notes
查看>>
Android------Button 添加声音效果(两种方式)
查看>>
Out of Memory PermGen
查看>>
Flex 布局教程:语法篇
查看>>
获取屏幕快照 截图
查看>>