关闭

ionic android app 微信/朋友圈分享网页

2186人阅读 评论(0) 收藏 举报
分类:

app

ionic框架/cordova/phonegap
安卓android平台
插件https://github.com/xu-li/cordova-plugin-wechat

创建一个ionic安卓项目

ionic start 文件夹/项目路径
ionic platform add android

安装插件

用git命令

cordova plugin add https://github.com/xu-li/cordova-plugin-wechat --variable wechatappid=**你申请的微信移动项目APPID**

没装git shall可以使用本地安装

先从git上把安装包下载到本地后解压,建议使用英文路径
然后:

ionic plugin add 安装包路径 --variable wechatappid=**你申请的微信移动应用APPID**

APPID在微信开放平台申请,具体步骤按提示都可以搞定

使用前注意事项

使用的appid时,项目的以下项必须和申请时填的信息相符

-包名
-签名(.keystore文件)

debug版无法使用微信分享(至少自测是这样的,并且还把app搞的挂掉了)

发布+签名后才可正常使用

使用

js可用方法在插件的www文件夹中wechat.js中,喜欢研究的可以从这个文件入手。下面是写的一个demo

/*
网页分享
*/
var weChatShare = {
    check:function(){
        //检查是否安装成功
        Wechat.isInstalled(function (installed) {
            alert("Wechat installed: " + (installed ? "Yes" : "No"));
        }, function (reason) {
            alert("Failed: " + reason);
        });
    },
    webpage:function(_opt,_scene){
        _scene = _scene==undefined?Wechat.Scene.TIMELINE:_scene;
        alert("分享到:"+(_scene === 0?"聊天界面":(_scene === 1?"朋友圈":_scene)));
        opt = _opt || {
            title:"网页分享——百度"
            ,description:"简述,短述,摘录"
            ,url:"http://baidu.com"
            ,img:"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png"
        };
        Wechat.share({
                message: {
                    title: opt.title,
                    description: opt.description,
                    mediaTagName: "这是什么呢?什么呢?",//这是什么呢?媒体标签名!!
                    thumb: opt.img,
                    media: {
                        type: Wechat.Type.WEBPAGE,   // webpage
                        webpageUrl: opt.url   // webpage
                    }
                },
                scene: _scene   // 默认分享到朋友圈
            }, function () {
                alert("Success");
            }, function (reason) {
                alert("Failed: " + reason);
            });
    }
};
//发送到朋友圈
window.weChatShare = function(opt){
    weChatShare.webpage(opt);
};
//发送给好友
window.weChatShareToFriend = function(opt){
    weChatShare.webpage(opt,Wechat.Scene.SESSION);
};

发布和签名

看这里

遇到的坑

语法错误

错误在这个文件
platforms\android\src\com\ionicframework\starter\wxapi\WXEntryActivity.java

//第42行 
@Override
public void onResp(BaseResp resp)

这个函数中有几个ERR开头的静态变量,调用的名字和类(xu.li.cordova.wechat\www\Wechat.java)定义名不相符,改成了这样就过去了。
@Override 
public void onResp(BaseResp resp) {
Log.i(WXEntryActivity.class.getName(), resp.toString());
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
switch(resp.getType())
{
case ConstantsAPI.COMMAND_SENDAUTH:
auth(resp);
break;
default:
Wechat.currentCallbackContext.success();
break;
}
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
Wechat.currentCallbackContext.error(Wechat.ERROR_USER_CANCEL);
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
Wechat.currentCallbackContext.error(Wechat.ERROR_AUTH_DENIED);
break;
case BaseResp.ErrCode.ERR_SENT_FAILED:
Wechat.currentCallbackContext.error(Wechat.ERROR_SENT_FAILED);
break;
case BaseResp.ErrCode.ERR_UNSUPPORT:
Wechat.currentCallbackContext.error(Wechat.ERROR_UNSUPPORT);
break;
case BaseResp.ErrCode.ERR_COMM:
Wechat.currentCallbackContext.error(Wechat.ERROR_COMMON);
break;
default:
Wechat.currentCallbackContext.error(Wechat.ERROR_UNKNOWN);
break;
}
finish();
}

0
0
查看评论

WXEntryActivity

写法一:package com.zaegg.zaeshop.wxapi;import com.tencent.mm.sdk.modelbase.BaseReq; import com.tencent.mm.sdk.modelbase.BaseResp; import com.tencent.mm.s...
  • feng88724
  • feng88724
  • 2016-09-28 22:25
  • 3280

Cordova --- 第三方app实现微信登录功能

最近公司项目中需要添加微信登录功能,由于我们的项目使用了ionic的框架,所以项目中基本使用了cordova的插件,下面把实现流程简单说一下: 第一步:登录微信开放平台(点击打开链接) 1.如果您的项目在微信的开发平台上没有创建过项目则需要在微信开放平台上创建项目,至于在微信上如何创建项目获取微信的...
  • liayn523
  • liayn523
  • 2017-11-01 17:06
  • 906

ionic 微信分享

ionic 项目,微信分享,搞了快一个星期。坑很多,写出解决方案,希望能帮助你们。废话不多说直接开始:首先,如果你还没有在微信开放平台添加app并申请通过,马上去,审核时间好长,我等了快一个星期。 https://open.weixin.qq.com/ ionic 的微信分享插件:https:...
  • ganggelove
  • ganggelove
  • 2016-02-23 13:15
  • 2923

cordova插件汇总大全

1、获取当前应用的版本号 cordova plugin add cordova-plugin-app-version 2、获取网络连接信息 cordova plugin add cordova-plugin-network-information 3、获取GPS数据 cordova p...
  • github_39500961
  • github_39500961
  • 2017-07-28 17:17
  • 4080

cordova/ionic2微信支付、分享、登录

wechat-chenyu  wechat Native Ionic Native - 微信sdk,包括分享、支付、第三方登录 安装 Run following command to install Ionic Native in your pr...
  • m0_37609394
  • m0_37609394
  • 2018-01-10 14:48
  • 296

【ionic App问题总结系列】ionic 微信朋友圈分享

前言做完之后才发现实现ionic微信朋友圈、朋友分享并不难。只要按照着插件的文档来就行。但是在刚接触的时候依然是存在疑惑,还是写点记录总结下吧(本文是在开发Android App的环境下产生的)。整个流程大致是下面三步: 微信开放平台申请应用获取appid 安装cordova微信分享插件 在代码中调...
  • qq673318522
  • qq673318522
  • 2016-11-19 23:10
  • 1904

ionic开发——微信分享朋友,朋友圈的实现方法

上一篇文章讲了 ionic开发——微信分享准备工作之签名和包名的获取方法http://blog.csdn.net/yu17310133443/article/details/52701417 点击打开链接 这篇文章说明微信分享朋友,朋友圈的实现方法。 1.首先,我们先检测手机是否安装...
  • yu17310133443
  • yu17310133443
  • 2016-09-29 16:52
  • 4532

ionic android app 微信/朋友圈分享网页

appionic框架/cordova/phonegap 安卓android平台 插件https://github.com/xu-li/cordova-plugin-wechat创建一个ionic安卓项目ionic start 文件夹/项目路径 ionic platform add androi...
  • lucy_100
  • lucy_100
  • 2015-11-06 17:53
  • 2186

android应用中分享到微信好友和朋友圈的实现

前言实现分享到微信好友和朋友圈的功能其实很简单,官方文档其实还是比较详细的,只是在创建应用的过程比较费(dan)事(teng),好在微信的审核效率还可以,所以这篇博客简单为大家介绍下这个功能的实现,同时方便自己日后查看。话不多说,下面进入正题。申请AppID这部分大家去微信开发者平台注册账号按照提示...
  • Reed_CSDN
  • Reed_CSDN
  • 2016-03-26 17:17
  • 13898

为Cordova + Ionic + AngularJS 应用添加微信分享功能

为Cordova + Ionic + AngularJS 应用添加微信分享功能     不知道 Cordova 、Ionic、AngularJS 为何物的,请点击下方链接自行恶补: ·      Cordo...
  • bblonglp
  • bblonglp
  • 2015-09-10 16:44
  • 4906
    个人资料
    • 访问:70417次
    • 积分:935
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:6篇
    • 译文:2篇
    • 评论:19条
    最新评论