customiuizer
customiuizer copied to clipboard
feat: allow opening APKs with any app
允许使用非 MIUI 自带的安装器,逻辑是跳过 hookChooseBestActivity
中的 intent.setPackage("com.miui.packageinstaller")
操作,直接返回原本的 ResolveInfo.
我在小米 13,MIUI 14.0.13 稳定版上测试通过,不管是否删除 com.miui.packageinstaller 这个包均可工作。但是要注意,如果不删除这个包的话,intent resolver 里面还是只有 MIUI 的安装器,而没有原生的 com.android.packageinstaller.
choosebestactivity这里,需要判断intent的类型,看源码里面是有martket相关的。 另外非cn版本现在是直接允许其他安装器
抱歉,很长一段时间都没有再回去看代码的机会。按照印象,那些 market 相关的部分都是为了准确判断应该怎么劫持才会存在的。如果不做劫持,就不需要那些判断了。
根据我在小米 13 上的测试,目前这个实现在 MIUI 14 14.0.13 和 14.0.17 上都能正确执行自带应用商店和 Play Store 的安装与更新,没有注意到什么异常。
我的意思是跳转应用市场时,有选择哪个market的判断。现在这样直接return,会影响其他intent类型的逻辑
Hi all, it is the best module for Miui. How to hide Airplane Mode icon on status bar. Many thanks!
我又回来用 MIUI 了 :-/
我的意思是跳转应用市场时,有选择哪个market的判断。现在这样直接return,会影响其他intent类型的逻辑
现在在 HyperOS 上,这段代码是把所有的 mimarket 或 market scheme 的 intent 都强制跳转到小米应用商店。对于通用的 market scheme 来说,这也是一种劫持行为。这里应用 hook 之后,market scheme 会弹出应用市场的选择,mimarket 直接进入小米应用商店,我认为这样都是符合预期的。
更正了 PR 标题和代码中的描述,现在是“允许非安装器 app 打开 APK 文件”了,不再提及默认安装器的事情,以免造成误解。后面会有专门提交修改默认安装器。