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配置

Uniapp 与原生android的交互 和简单配置_第1张图片

 官网地址icon-default.png?t=M276https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android

你可能感兴趣的:(Uniapp,uniapp,交互)