joken-前端工程师

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

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();
	}
}
posted on 2024-06-17 19:41  joken1310  阅读(154)  评论(0编辑  收藏  举报