mihon
mihon copied to clipboard
HyperOS QUERY_ALL_PACKAGES permission is denied by default
Steps to reproduce
On HyperOS, the system seems to deny the QUERY_ALL_PACKAGES permission by default and requires the user to navigate through the app settings for several layers to find this advanced permission and to grant it.
Expected behavior
QUERY_ALL_PACKAGES should be granted by the user manually or the system automatically.
Actual behavior
Permission is denied by default with no prompt to grant it. This causes the extension list to be empty on app restart.
Crash logs
No response
Mihon version
0.16.4
Android version
HyperOS
Device
Xiaomi phones with HyperOS
Other details
If possible, Mihon should ask for this permission during the Onboarding flow, or when it detects failure of a package scan on the installed extensions screen.
If not possible, it has to be mentioned somewhere (Onboarding? Website? Support-FAQ thread?) that this is something users have to consider and grant manually.
Proposed command/hint/website entry:
How to fix empty installed extensions list / disappearing extensions on HyperOS:
App info for Mihon > Permissions > Other Permissions > Access List of Installed Apps > Always Allow
Acknowledgements
- [X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
- [X] I have written a short but informative title.
- [X] I have gone through the FAQ and troubleshooting guide.
- [X] I have updated the app to version 0.16.4.
- [X] I have updated all installed extensions.
- [X] I will fill out all of the requested information in this form.
Update: I myself am using HyperOS 1.0.2.0 now and I cannot see half the options this user had on their phone. Will contact them again to provide OS version info.
Update: Another user with HyperOS has reported an issue that ended up being solved by granting:
App Info > Permissions > Other Permissions > Access list of installed apps
(which is what the previous demo video also showed).
Their phone uses the India region version of HyperOS, while mine uses the Global one. It appears that this permission is only available on certain regional variants of HyperOS.
Chinese version of HyperOS has implemented this Mobile terminal application list permission implementation guide. It requires developer to request com.android.permission.GET_INSTALLED_APPS
permission dynamically just like requesting READ_EXTERNAL_STORAGE
.
If no actual implement action were taken, QUERY_ALL_PACKAGES
might be ignored by HyperOS and many chinese ROM (such as ColorOS, OriginOS, HarmonyOS etc.).