uniapp调用android原生方法

1.编写安卓端代码

public class ElitetycPluginTest extends StandardFeature {

    public void calcMyNameAddNum(IWebview pWebview, JSONArray array){
        //System.out: ["plus141628493886334","这段文字是uniapp传过来的",null]
        String CallBackID = array.optString(0);//        获取回调ID
        String newstring = "我是原生代码返回::"+array.optString(1);//获取参数
        JSUtil.execCallback(pWebview,CallBackID,newstring, JSUtil.OK,false);
    }
}

在这里插入图片描述

添加文件内容

在dcloud_properties.xml文件里面加上

		<feature name="elitetyc" value="com.android.simple.ElitetycPluginTest"/>

2.编写前端代码调用方法

2-1编写插件文件plugin.js

! function(root, factory) {
	if (typeof exports == 'object' && typeof module != 'undefined') {
		module.exports = factory()
	} else if (typeof define == 'function' && define.amd) {
		define(factory)
	} else {
		document.addEventListener('plusready', function() {
			// 修改此处为插件命名 
			var moduleName = 'elitetyc';

			root.plus[moduleName] = factory()
		}, false);
	}
}(this, function() {
	//定义自己的方法  
	var _BARCODE = 'elitetyc';
	var plugintest = {
		// 这里定义了一个名叫CalcNameAddNumFunction的方法,传递三个参数,后面两个是回调函数
		CalcNameAddNumFunction: function(num, successCallback, errorCallback) {
			var success = typeof successCallback !== 'function' ? null : function(args) {
					successCallback(args);
				},
				fail = typeof errorCallback !== 'function' ? null : function(code) {
					errorCallback(code);
				};
			var callbackID = plus.bridge.callbackId(success, fail);
			return plus.bridge.exec(_BARCODE, "calcMyNameAddNum", [callbackID, num]);
		}
	};
	return plugintest;
});

在这里插入图片描述

2-2前端页面引入plugin.js文件

var elitetyc = require('../../plugin.js');

在export default -data-return处加上

plugins: elitetyc

在这里插入图片描述

2-3编写点击事件

			android() {
				this.plugins.CalcNameAddNumFunction(
					"这段文字是uniapp传过来的",
					function(result) {
						uni.showToast({
							title: JSON.stringify(result),
							icon: 'none',
							duration: 5000
						});
					},
					function(result) {
						uni.showToast({
							title: result,
							icon: "none",
							duration: 5000
						});
					}
				);
			},

在这里插入图片描述

4.将uniapp以本地打包的方式进行导出

请添加图片描述

选择生成本地app打包资源

打包后的文件夹
在这里插入图片描述

导入到安卓工程里面

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值