每次打开 APP 都要看着启动页 2 秒,很烦人,既然如此我们把它去掉吧。
学过 Android 开发的都知道,APP 的每个界面都是一个 Activity,然后你点击桌面上的图标之后,其实是启动了这个 APP 的入口 Activity。现在我们这个 APP 的入口 Activity 就是启动页,启动页打开 2 秒后,它就会自动关掉,然后跳转到主界面。
既然我们知道了这个流程,那么要修改它就很容易,我们只要让主界面成为 APP 的入口 Activity,不就可以跳过启动页了。
定位主界面
我们的第一步是确定主界面的 Activity 名称是什么,打开 MT 侧拉栏工具中的 Activity 记录,根据提示启动服务,如果启动成功,返回 MT 后你会看到:
现在返回桌面,启动 APP,等它跳转到主界面后,回到 MT 中。
从上图中可以看到,我们启动 APP 后,它是先跳转到 WelcomeActivity,然后再跳转到 MainActivity,所以 MainActivity 就是我们要找的主界面了。
修改入口
Activity 的配置保存在 apk 里面的 AndroidManifest.xml 文件中,使用 MT 反编译这个文件。
查找入口 Activity 我们只需要搜索 android.intent.action.MAIN 或者 android.intent.category.LAUNCHER 就能快速定位。
<activity
android:theme="@7f0c011a"
android:name="cc.binmt.mtestapp.WelcomeActivity"
android:launchMode="singleTop">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
可以看到当前入口 Activity 是 WelcomeActivity,其中 intent-filter 包裹着的那 6 行代码的作用就是让这个 Activity 成为入口并显示在桌面上,所以我们把它去掉。
<activity
android:theme="@7f0c011a"
android:name="cc.binmt.mtestapp.WelcomeActivity"
android:launchMode="singleTop">
</activity>
然后我们要让 MainActivity 成为入口,就给它加上刚刚那段 intent-filter。
<activity
android:name="cc.binmt.mtestapp.MainActivity" />
我们要去掉末尾的 /> 换成 >,并加上 </activity>,然后在它们中间插入 intent-filter,最后如下。
<activity
android:name="cc.binmt.mtestapp.MainActivity" >
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
最终修改结果:
修改完成后点击菜单编译并退出,更新文件到 apk 中后,返回上级对 MTestApp_kill.apk 进行签名,安装生成的 MTestApp_kill_sign.apk。
如果你的修改步骤没错,再次打开 APP 后你会直接进入主界面,不再显示启动页。