uniapp跳转安卓原生Activity(原创-详细-配图)
uniapp跳转安卓原生Activity(原创-详细-配图)
·
背景
公司要做一个串口测试我玩意,我想着用uniapp加安卓混合开发。学习了一下跳转。但是照着教程敲的都是用plus跳转的方法,但是会报错io.dcloud.uniplugin.你的插件@528d82b Invoker gotoNativePage exception:java.lang.reflect.InvocationTargetException,网上搜说是映射文件问题,下面详细解决这个问题。
前提是要配置好uniapp和安卓原生相关配置
Hbuilder X
<template>
<div>
<button type="primary" @click="gotoNativePage">跳转原生Activity</button>
</div>
</template>
<script>
var testModule = uni.requireNativePlugin("TestModule")
export default {
methods: {
gotoNativePage() {
testModule.gotoNativePage();//原生插件方法
}
}
}
</script>
Android Studio
serial_port是要跳转的项目
uniplugin_module就是安卓原生插件
//在插件注入方法。这个就是相当于安卓的intent的跳转
@UniJSMethod (uiThread = true)
public void gotoNativePage(){
if(mUniSDKInstance != null && mUniSDKInstance.getContext() instanceof Activity) {
//ComTest.class就是跳转Activity的入口,记得引入
Intent intent = new Intent(mUniSDKInstance.getContext(), ComTest.class);
((Activity)mUniSDKInstance.getContext()).startActivityForResult(intent, REQUEST_CODE);
}
}
插件Module下的build.gradle
dependencies {
implementation project(':serial_port')
}
!!!!重点 !!!解决 java.lang.reflect.InvocationTargetException
在AndroidManifest.xml下加入项目的路径
<application>
<activity android:name="com.bestom.ComAssistant.ComTest"
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"></activity>
</application>
更多推荐
已为社区贡献5条内容
所有评论(0)