phonegap分享到微信插件(安卓版)

首先,请下载插件包。本插件支持phonegap3.0以上版本
http://pan.baidu.com/s/1gdejb9L

插件的安装

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


import com.example.weixin.R;

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

第二步:把wxapi文件夹拷贝至你自己的包下面(不是src文件夹,而是你自己的主包下,在我的例子里应该是com->example->weixin文件夹下)。wxapi文件夹下的WXEntryActivity.java文件是用来接收微信的回调信息的。打开后大约35行处,设置你在微信申请的appID,同时别忘了把包名改一下。(请参考微信开放平台的相关内容)
现在,你需要在AndroidManifest..xml文件的Application标签中添加以下内容:

<activity
        android:name=".wxapi.WXEntryActivity"
        android:label="@string/app_name"
        android:exported="true"
        android:theme="@android:style/Theme.NoDisplay"
        >
 
        <!--
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:scheme="sdksample"/>
        </intent-filter>
        -->
    </activity>


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

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

<featurename="WeiXin">
    <paramname="android-package"value="com.phonegap.plugins.weixin.WeiXin"/>
</feature>

第五步:把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.openWeixin(OpenSeccess,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 Url
isSendToTimeline: 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 false
imgUrl: 'http://www.baidu.com/img/bdlogo.gif',//ifnot 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',//ifnot 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',//ifnot defined, use 'res/drawable/webpage.png'
isSendToTimeline: true}


发送文件:

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


另外还有两个api:

取消注册app:

 
navigator.weixin.unregister(Success, Fail);

不知道有什么用?

提示信息:

 
navigator.weixin.showToast(txt);

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值