Uniapp 与原生android的交互 和简单配置
1、unipp跳转android界面
jsCallNativeActivity() { // #ifdef APP-PLUS //获取宿主上下文 var main = plus.android.runtimeMainActivity(); //通过反射获取Android的Intent对象 var Intent = plus.android.importClass("android.content.Intent"); //通过宿主上下文创建 intent var intent = new Intent(main.getIntent()); //设置要开启的Activity包类路径 com.example.H5PlusPlugin.MainActivity换掉你自己的界面 intent.setClassName(main, "com.example.H5PlusPlugin.MainActivity"); //开启新的任务栈 (跨进程) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //向原生界面传值操作 intent.putExtra("uni_key", "来自uniapp的值"); //开启新的界面 main.startActivity(intent); //#endif }
uniapp接收参数
在onshow方法里面调用
onShow() { //#ifdef APP-PLUS if (plus.runtime.arguments) { let lastAppShare = plus.runtime.arguments; let appArgs = JSON.parse(lastAppShare); if (appArgs) { console.log('receive args from native:', appArgs); } } //#endif },
2、android打开uniapp指定界面
startActivity(new Intent(this, PandoraEntryActivity.class) .putExtra("userName", "张三") .putExtra("token", "TOKEN") .putExtra("path", "login") )
android接收参数
Intent i = getIntent(); String uni_key = i.getStringExtra("uni_key"); Toast.makeText(MainActivity.this, uni_key, Toast.LENGTH_LONG).show();
3、AndroidManifest配置
官网地址