uniapp写的安卓版本的App跳转到小程序,在小程序内执行一定操作后再次返回到App内

最近开发一款App和小程序,先做完的小程序,然后又开发了基本上相同类型的App。 客户要求,App和小程序的数据打通,用户可以在App注册后,在小程序内可以直接登录,使用。然后在小程序内进行授权登录过的用户,在App内注册后,可以直接同步自己已经有的数据。
前提:
App移动应用和小程序是绑定在同一个移动开放平台下面的。
关于移动开放平台的这块,我就不细说了,网上也有很多关于这方面的文档。
1.在APP内跳转到小程序,找了官方文档,
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Android.html
下面是官方文档给出的 分享为小程序代码

WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
miniProgramObj.webpageUrl = "http://www.qq.com"; // 兼容低版本的网页链接
miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;// 正式版:0,测试版:1,体验版:2
miniProgramObj.userName = "gh_d43f693ca31f";     // 小程序原始id
miniProgramObj.path = "/pages/media";            //小程序页面路径;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"
WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
msg.title = "小程序消息Title";                    // 小程序消息title
msg.description = "小程序消息Desc";               // 小程序消息desc
msg.thumbData = getThumb();                      // 小程序消息封面图片,小于128k

SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("miniProgram");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;  // 目前只支持会话
api.sendReq(req);
	//
	// onLoad中执行的函数
getPlus() {
				//获取当前显示的webview
				var pages = getCurrentPages()
				var page = pages[pages.length - 1]
				var currentWebview = page.$getAppWebview()
				//调用H5+APP的扩展API
				var shares = null;
				let that = this
				var pusher = plus.share.getServices(function(s) {
					shares = {};
					for (var i in s) {
						var t = s[i];
						shares[t.id] = t;
					}
					that.sweixin = shares['weixin'];
				}, function(e) {
					console.log("获取分享服务列表失败:" + e.message);
				});
				//放入当前的webview
				currentWebview.append(pusher);
			},
			//前往小程序的函数
						//前往小程序
			checkWeChat() {
				//调用微信小程序
				let token = uni.getStorageSync('token');
				this.sweixin.launchMiniProgram({
					id: 'gh_b00000000', //要跳转小程序的原始ID,不是appid
					path: 'pages/gereninfo_shouquan/gereninfo_shouquan?apptoken=' + token,    //可以传递参数待在path后面
					type: 0  //0是正式版  1是开发版,2是体验版
				})
			},
``

下面进入小程序之后, 怎么在小程序返回APP

// 在小程序跳转页面 onLoad中接收传递的参数
onLoad(params) {
	this.apptoken = params.apptoken
},
//返回app,是直接用button open-type="launchAPP" 
<button type="" class="phonebtn" open-type="launchApp" app-parameter="wechat" @error="launchAppfail()">确定</button>
//返回的函数
//返回app
	BackApp(e) {
		uni.showModal({
			title: '返回成功',
		})
		wx.navigateBackApplication({
		})
	}

//其实最后的这块我是看别人的来写的,可以在安卓手机里面实现返回App,但是,我总是感觉还是有问题的。希望有知道的,可以帮忙给看一下我写的对不对。 ios目前我们还没有打包测试,可能会有一些兼容性的问

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值