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

本文提供了一款适用于PhoneGap/Cordova平台的微信分享插件的安装步骤和使用指南,包括如何获取并安装插件包,配置AndroidManifest文件,添加微信功能到应用等关键步骤。同时,介绍了如何注册微信应用ID,发送不同类型的内容到微信,以及使用插件提供的其他功能如取消注册、显示提示信息等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#注意 该文档已过期,请参考我最新的博客,使用改进版的插件! PhoneGap/Cordova微信分享插件

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

#插件的安装

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

<!-- lang: java -->
import com.example.weixin.R;

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

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

<!-- lang: xml -->
<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文件,在末尾处添加下面的配置信息:

<!-- lang: xml -->
<feature name="WeiXin">
    <param name="android-package" value="com.phonegap.plugins.weixin.WeiXin" />
</feature>

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

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

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

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

#插件的使用

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

首先,需要注册app:

<!-- lang: js -->
navigator.weixin.register(appId, Success, Fail);

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

发送信息到微信:

<!-- lang: js -->
navigator.weixin.send(args, Success, Fail);

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

args的详细配置:

发送文字:

<!-- lang: js -->
{
    type: 'text',
    text: 'I want to send text',
    isSendToTimeline: true  //if true, send to "朋友圈", else send to WeiXin friends.
}

发送图片:

<!-- lang: js -->
{type: 'image',
imageType: 'path',//you can also use 'url' to send image.
data: '/test.png',//SD card path or Url
isSendToTimeline: true}

发送音乐:

<!-- lang: js -->
{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',//if not defined, use 'res/drawable/music.png'
isSendToTimeline: true}

发送视频:

<!-- lang: js -->
{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}

发送网页:

<!-- lang: js -->
{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}

发送文件:

<!-- lang: js -->
{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}

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

<!-- lang: js -->
	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(我觉得没什么用,如果为了严谨可以在程序退出时加入~):

<!-- lang: js -->
navigator.weixin.unregister(Success, Fail);

提示信息:

<!-- lang: js -->
navigator.weixin.showToast(txt);

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值