提示 :使用 IFW 需要手机获得 ROOT 权限,具体可以查看我的文章「在 2019 年,Root 是否还有必要?」。
Intent(意图)与 IFW
要想说明 IFW 是什么,首先我们先简单解释下这里的「I」代表的 Intent 意图。
Android 上的 Intent
简单来讲意图就是 Android 应用执行任何动作的基础,举下面三个例子,大家就很容易理解它是什么了。
基础印象:当我们想从文件管理器分享文件到微信的时候,点击分享按钮,文件管理器会发起一个 Intent(意图)说「我想要调取分享菜单」,然后系统就会显示分享菜单;接着当用户点击微信图标的时候,分享菜单就会发起一个 Intent(意图)说「我想要把文件分享给微信」,系统就会将带有文件路径的意图传给微信,微信接收到后自行实现分享功能(这里分享的每一步也会有意图)。
分享文件步骤 软件对软件:应用内的功能也是通过意图实现的,比如最简单的从微信的主界面切换到某个聊天界面,就是微信主界面发起切换界面的 Intent(意图)(包括目标界面的ID)到系统,系统接收到后才会切换到聊天界面。
页面跳转步骤,图片来自 Android Developer 软件对硬件:应用对硬件的响应也是通过意图实现的,比如音乐应用响应媒体按钮(上一首、下一首、播放等)接受我们按下按钮后系统发起一个意图说「默认的音乐应用动起来」,系统里面所有音乐软件都会收到这个意图,然后检查自己是不是默认的(或者正在播放),不是就不会响应这个意图。
通过这三个例子,我们可以看到,Android 上的万事万物都是基于 intent 的组件调用。 这样只要我们能够控制 Intent,就能完全控制应用行为。