uni-app 跳转Android原生界面(Activity)并传值
前端传值操作
一、Uni-app中:
1、页面:
<view class="line"></view>
<button @click="jsCallNativeActivity()">跳转到android原生页面</button>
<view class="line"></view>
2、方法:
// 通过该方法进入android原生页面
jsCallNativeActivity(){
//获取宿主上下文
var main = plus.android.runtimeMainActivity();
console.log("ss::"+main);
//通过反射获取Android的Intent对象
var Intent = plus.android.importClass("android.content.Intent");
console.log("sss::"+Intent);
//通过宿主上下文创建 intent
var intent = new Intent(main.getIntent());
console.log("ssss::"+intent);
//设置要开启的Activity包类路径 com.HBuilder.integrate.MainActivity换掉你自己的界面
intent.setClassName(main, "com.example.testyu.MapActivity");
//开启新的任务栈 (跨进程)
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//向原生界面传值操作
intent.putExtra("uni_key","来自uniapp的值");
//开启新的界面
main.startActivity(intent);
}
二、android中
// 接受跳转时候的参数
Intent mIntent = getIntent();
if (mIntent!=null){
//获取Intent,通过key获取对应的值
String uniValue = mIntent.getStringExtra("uni_key");
Toast.makeText(this, "uniValue="+uniValue, Toast.LENGTH_SHORT).show();
}