Android打开其它APP的两种方式

您所在的位置:网站首页 塑粉生产厂家哪家最好 Android打开其它APP的两种方式

Android打开其它APP的两种方式

2023-10-09 04:49| 来源: 网络整理| 查看: 265

在实际开发中,或许我们会需要打开一个别的APP,下面介绍下Android如何在自己的应用里面打开其它的应用。

方式1:如果我们知道包名和默认启动的Activity,可以用如下方式打开:

 

Intent intent = new Intent(); ComponentName cn = new ComponentName("packageName", "默认启动的activity"); intent.setComponent(cn); startActivity(intent);

举例:

Intent intent = new Intent(); ComponentName cn = new ComponentName("com.example.demo", "com.example.demo.MainActivity"); intent.setComponent(cn); startActivity(intent);

上述代码会打开一个包名为:com.example.demo,默认启动Activity为com.example.demo.MainActivity的APP

 

这种方式比较简单,但是实际上我们都不会知道要打开的APP的包名,更不会知道要打开的APP的默认启动Activity,下面我们上演另外一种打开其它APP方式。

 

方式2:在不知道应用包名,也不知道默认启动Activity的情况下,打开一个APP

(1)第一步是获取要打开的APP的包名,一个APP的包名可以通过如下代码获取

 

private void getAppInfo(Context context) throws Exception{ PackageManager packageManager = context.getPackageManager(); //获取所有安装的app List installedPackages = packageManager.getInstalledPackages(0); for(PackageInfo info : installedPackages){ String packageName = info.packageName;//app包名 ApplicationInfo ai = packageManager.getApplicationInfo(packageName, 0); String appName = (String) packageManager.getApplicationLabel(ai);//获取应用名称 } }

(2)第二步通过获取的APP名称,可以找出对应的APP包名,这样我们就知道了一个APP的包名,下面通过包名打开APP

 

public static void openApp(Context context, String packageName) { final Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); context.startActivity(intent); }

方式3:通过scheme配置,启动activity,代码配置如下

public static void startActivity(Context context, String intentUrl){ final Intent intent = initIntent(intentUrl); context.startActivity(intent); } private static Intent initIntent(final String uriString) { final Intent intent = new Intent(); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(uriString)); return intent; } 使用 startActivity(context,"demo://demo_ac")

至此在不知道APP包名和默认启动Activity的情况下,完成打开APP

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3