uni代码实现
export function startAndroidActivity() {
const { activety, pakeage } = externalApp;//pakeage 就是唤起app包名,activety 就是唤起的页面
let Intent = plus.android.importClass("android.content.Intent");
let intent = new Intent(Intent.ACTION_VIEW);
let ComponentName = plus.android.importClass("android.content.ComponentName");
let comp = new ComponentName(pakeage, activety);
intent.setComponent(comp);
intent.setAction("android.intent.action.MAIN");
intent.putExtra("type", "1001"); // putExtra 可以传递参数给唤起的app
let main = plus.android.runtimeMainActivity();
main.startActivity(intent);
}
原生安卓代码实现参考
主唤起方代码
// 通过包名获取要跳转的app,创建intent对象
Intent intent = activity().getPackageManager()
.getLaunchIntentForPackage("com.zsl.download");
// 这里如果intent为空,就说名没有安装要跳转的应用嘛
if (intent != null) {
// 这里跟Activity传递参数一样的嘛,不要担心怎么传递参数,还有接收参数也是跟Activity和Activity传参数一样
intent.putExtra("name", "郑松岚");
startActivity(intent);
} else {
// 没有安装要跳转的app应用,提醒一下
ToastUtils.showLongToast(activity(), "没安装此APP");
}
被唤起方代码:
Intent intent = getIntent();
Bundle bundle = intent.getExtras(); //获取参数
if (bundle != null) {
String name = bundle.getString("name");
if (name != null) {
Toast.makeText(getApplicationContext(), "name:" + name, Toast.LENGTH_SHORT).show();
}
}
前端工程师、程序员