在自己的应用开发过程中,有可能需要在自己的应用中启动其他应用,此时,如果应用对外公开了自己的启动Intent方式,可以直接创建该Intent,然后通过startActivity(myIntent)。
这种方式相信都很熟悉。
如果不知道想要启动的应用的Intent,也有两个方法可以实现这个功能。
1、通过反编译这个应用的apk,在该应用的AndroidManifest.xml中找到该应用的第一个Activity,然后通过在自己的应用中直接启动这个Activity即可。
比如在自己的应用中想通过一个按键直接打开QQ,可以反编译QQ.apk,找到启动的Activity为com.qq.android.LoginActivity。可以直接在自己的代码中写:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.qq.android","com.qq.android.LoginActivity"));
//前名一个参数是应用程序的包名,后一个是这个应用程序的主Activity名
startActivity(intent);
需要知道要启动的应用的包名即可。
- Intent intent = getPackageManager().getLaunchIntentForPackage("com.qq.android");
- startAcitvity(intent);
本文介绍在应用开发过程中,如何通过启动Intent的方式,在自己的应用中启动其他应用,包括直接通过代码启动、通过反编译获取启动Intent、以及利用getLaunchIntentForPackage方法获取已知应用的Intent。

958

被折叠的 条评论
为什么被折叠?



