joken-前端工程师

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
  404 随笔 :: 39 文章 :: 8 评论 :: 20万 阅读

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   joken1310  阅读(217)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2017-06-17 php namespace use 研究
点击右上角即可分享
微信分享提示