欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

取之有道——巧用Root权限 启动其他APP中的Activity

程序员文章站 2022-04-02 23:48:19
这次博主来分享一个很巧妙的办法来启动其他APP中Activity的方法。 首先说一下这样做的目的:最近博主在攻克一个技术难点,就是搞定某些三方系统中,对于应用权限的限制。为此给出用户指导,引导用户启动系统中的权限设置来设置信任。到此,问题就来了:我们不知道权限设定的包名,也不知道权限设置的Activ ......

这次博主来分享一个很巧妙的办法来启动其他app中activity的方法。
首先说一下这样做的目的:最近博主在攻克一个技术难点,就是搞定某些三方系统中,对于应用权限的限制。为此给出用户指导,引导用户启动系统中的权限设置来设置信任。到此,问题就来了:我们不知道权限设定的包名,也不知道权限设置的activity的名字,如何启动到指定的界面呢?
今天我们就来解决这个问题。
首先,我们需要一台已经获取root权限了的手机。当然,模拟器之流也是可以考虑的。还有re(root explorer)文件浏览器,用来浏览androidmanifest.xml。这里注意的是,不要试图复制到电脑上查看,回是乱码的。
然后,我们开始通过包名来查找有可能的程序。由于博主手里用的测试机是华为的机器,因此以华为为例。其他厂商的手机请各位自行查找,方法应该是一致的。
使用re文件浏览器,获取读写权限,依次打开/system/app。在这里,你将会看到好多apk。由于re文件浏览器能够预览apk的图标,所以我们可以很轻松地通过软件图标,找到权限管理所属的apk文件。以华为最新的emui为例,权限管理所属的软件是手机管家,apk的文件名为:“hwsystemmanager.apk”。
使用re文件浏览器打开apk,选择查看,即可看到解压后的文件。也就可以直接找到androidmanifest.xml。继续使用re文件浏览器打开这个xml文件,其中的activity的名字便一览无遗了。
最后,找到正确的activity,启动它即可。
这样,就能够在用户指导的权限设置页给出正确的启动入口了。当然,此方法也适用于启动任何一个app中的activity,只要配置文件中的exported值不为false即可启动。
小小技巧,班门弄斧。不足之处,望路过大神多多指教。