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