原生Android调用uniapp项目中的方法

最近遇到了这样一个需求,和安卓对接,暴露一个方法给安卓调用,我这边是使用的uniapp+vue3开发的项目,可以打包成小程序、app,运行在浏览器,H5页面等。大概的思路是:在main.js中封装一个全局的方法。下面是在uniapp中实现的代码:

javascript 复制代码
// utils.js
export const test = (str) => {
	uni.showToast({
		title: str,
		icon: 'none'
	})
}
// main.js
// 全局注册
import App from './App.vue'
import {createSSRApp} from 'vue'
import * as util from 'utils.js'
export function createApp() {
	const app = createSSRApp(App)
	app.config.globalProperties.$util = util
	return {
		app
	}
}

// 暴露方法供调用
// index.vue
import {onMounted,getCurrentInstance} from 'vue'
const {proxy} = getCurrentInstance();
onMounted(() => {
	window.test = proxy.$util.test;
})

这样的话test方法就可以暴露给安卓调用了,欢迎有更好想法的评论区留言交流哦

相关推荐
爱笑鱼14 分钟前
Android 系统启动机制(八):系统服务怎样从创建走到可用?SystemServiceManager 和 Boot Phase 各管什么?
android
hai_android18 分钟前
Android 组件化开发实践
android·java·kotlin
mmsx27 分钟前
Android 几何构造器的双栈机:链式 API 底层是怎么装配几何的
android
mmsx27 分钟前
Android 地图卡成 PPT 之后:双渲染管线与空间网格渐进加载怎么救
android·app
flash俊杰30 分钟前
Vue 3 响应式陷阱与状态单例:从 TDZ 白屏到跨进程 Proxy 剥离
vue.js
光影少年35 分钟前
setImmediate 和 setTimeout(0) 的区别
android·前端·react.js·ios·前端框架
志尊宝41 分钟前
Vue3 零基础每日笔记(046):声明式导航与编程式导航——useRouter / useRoute 双子星
vue.js·笔记·#vue #前端 #前端开发·#javascript·#vue.js
海鸥两三42 分钟前
小程序文档预览 · 进阶面试题
小程序·uni-app·uniapp
海鸥两三1 小时前
微信小程序 PDF 预览实践(uni.downloadFile → uni.openDocument)
小程序·uni-app
Android-Flutter15 小时前
android compose 知识点
android·compose