android 两个app之间的activity肿么跳转

Android

1个回答

写回答

ddd6666

2025-10-24 10:45

+ 关注

Android
Android

Android中,我们可以通过Intent来实现在两个不同应用的Activity之间进行跳转。下面是一个示例方法:Javaprivate void doStartApplicationWithClassName(String className) {// 获取目标应用程序的详细信息,包括Activities、services、versioncode、name等PackageManager packageManager = getPackageManager();PackageInfo packageInfo = null;try { packageInfo = packageManager.getPackageInfo(className, 0);} catch (NameNotFoundException e) { e.printStackTrace();}if (packageInfo == null) { return;}// 创建一个类别为CATEGORY_LAUNCHER的该包名的IntentIntent resolveIntent = new Intent(Intent.ACTION_MAIN, null);resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);resolveIntent.setPackage(packageInfo.packageName);// 通过queryIntentActivities方法遍历该应用程序中所有可启动的ActivityList resolveInfoList = getPackageManager().queryIntentActivities(resolveIntent, 0);for (ResolveInfo resolveInfo : resolveInfoList) { // 匹配到需要启动的Activity if (resolveInfo != null && !resolveInfo.activityInfo.name.equals("")) { // 进一步设置LAUNCHER Intent Intent launchIntent = new Intent(Intent.ACTION_MAIN, null); launchIntent.addCategory(Intent.CATEGORY_LAUNCHER); launchIntent.setPackage(packageInfo.packageName); // 设置Activity名称和路径参数 ComponentName cn = new ComponentName(packageName, className); launchIntent.setcomponent(cn); // 启动该应用程序的LAUNCHER Activity startActivityForResult(launchIntent, REQUEST_CODE);}}在这个示例方法中,我们首先通过getPackageManager()获取目标应用程序的详细信息,并使用queryIntentActivities方法遍历该应用程序中所有可启动的Activity。然后,在循环中根据需要匹配到并设置一个LAUNCHER Intent,并通过发起一个新的请求来启动该应用程序的LAUNCHER Activity。注意,在调用请求时,我们还必须设置一个REQUEST_CODE来记录请求结果。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号