android 如何通过包名打开其他应用

如题所述

第一种:
public void openAppWithPackageName(String packagename) {
// 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等 PackageInfo packageinfo = null; try {
packageinfo = getPackageManager().getPackageInfo(packagename, 0); } catch (PackageManager.NameNotFoundException e) {
e.printStackTrace(); } if (packageinfo == null) { return; }
// 创建一个类别为CATEGORY_LAUNCHER的该包名的Intent
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null); resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER); resolveIntent.setPackage(packageinfo.packageName); // 通过getPackageManager()的queryIntentActivities方法遍历 List<ResolveInfo> resolveinfoList = getPackageManager()
.queryIntentActivities(resolveIntent, 0); if (!resolveinfoList.iterator().hasNext()){ return ; }
ResolveInfo resolveinfo = resolveinfoList.iterator().next(); if (resolveinfo != null) { // packagename = 参数packname
String packageName = resolveinfo.activityInfo.packageName;
// 这个就是我们要找的该APP的LAUNCHER的Activity[组织形式:packagename.mainActivityname]
String className = resolveinfo.activityInfo.name; // LAUNCHER Intent
Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);//重点是加这个
// 设置ComponentName参数1:packagename参数2:MainActivity路径 ComponentName cn = new ComponentName(packageName, className); intent.setComponent(cn);
startActivity(intent); }
}
第二种:
public static void startAppByPagename(String pagename){
PackageManager packageManager = getPackageManager();
Intent intent=new Intent();
intent =packageManager.getLaunchIntentForPackage(pagename);
if(intent==null){
Toast.makeText(ActFsdAndJtj.this, "未安装", Toast.LENGTH_LONG).show();
}else{
startActivity(intent);
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

android 如何通过包名打开其他应用
第一种:public void openAppWithPackageName(String packagename) { \/\/ 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等 PackageInfo packageinfo = null; try { packageinfo = getPackageManager().getPackageInfo(packagename, 0); } catch (PackageManager.NameNot...

android怎么打开另外的应用程序
我们可以通过ComponentName以及Intent的setComponent来实现:在一个应用程序里面启动另外一个已经安装的应用程序或系统程序。下面是一个在一个应用程序里面启动另外一个已经安装的程序,如下:[javascript]\/\/组件名称,第一个参数是应用程序的包名,后一个是这个应用程序的主Activity ComponentName com = new Comp...

安卓开发,如何通过包名跳转至另一个正在运行的应用?
1你可以模仿按home键,这样界面就被隐藏了 Intent i= new Intent(Intent.ACTION_MAIN);i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);i.addCategory(Intent.CATEGORY_HOME);startActivity(i);2,让使用单例模式 在mainfest里配置activity为android:launchMode="singleTask"如果通过home也是重启,说明有可能是...

android在应用内如何打开第三方应用
方法一Intent intent=new Intent();\/\/包名 包名+类名(全路径)intent.setClassName("com.linxcool", "com.linxcool.PlaneActivity");startActivity(intent);12345 方法二 Intent intent = new Intent();ComponentName comp = new ComponentName("com.linxcool","com.linxcool.PlaneActivity");intent...

android中如何实现在一个软件中点击某个项可以启动本地的其他软件,比如...
你要先得到那个应用的包信息,然后取到启动的ComponentName,然后就可以调用startActivity启动了。

android开发,怎样将两个应用结合,在我的界面里打开另一个应用
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);\/\/..FLAG_ACTIVITY_NEW_TASK); \/\/不等结束就调用onactivity try { startActivityForResult(intent, pResult);return true;} catch (ActivityNotFoundException e) { e.printStackTrace();return false;} 这是启动另一个进程的片段,此外,你还要...

安卓开发点击按钮跳转到另一个app
一、先来几行代码,一个app启动另一个app \/\/ 通过包名获取要跳转的app,创建intent对象Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.liuxiang");\/\/ 这里如果intent为空,就说名没有安装要跳转的应用嘛if (intent != null) { \/\/ 这里跟Activity传递参数一样的嘛...

android中componentname怎么使用
ComponentName(组件名称)是用来打开其他应用程序中的Activity或服务的。ComponentName com = new ComponentName("com.example", "com.example.Test1");\/\/组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名 第二个是类名,要带上包名 Intent intent = new Intent();\/\/设置部件 intent....

Android破解第三方App
2. 用Android Studio 打开解压后的文件夹,此时需要设置一下工程的SDK.3. 连接上测试手机, 执行命令 adb shell am start -D -W -n 包名\/LauncherActivity ,以debug模式打开应用,此时手机上打开应用会弹出提示框, Waiting For Debugger.4. 点击Android Studio的Attach Debugger 按钮.5. 选择调试的...

android ADB命令启动手机微信,命令怎么写?
命令写法是:使用反编译安装包ApkTool中的AndroidManifest.xml获取包名并且启动Activity名,adb shell am start com.tencent.mm\/com.tencent.mm.ui.LauncherUI。另外,电脑上可以直接用aapt.exe分析安装包中的AndroidManifest.xml。也可以在手机上安装FX管理器,把安装包中的AndroidManifest.xml直接解压出来用...

相似回答