Allow opening unexported activity rootlessly by setting it as the default assistant app
If an unexported activity is set as the default assistant app it should launch. Activity Manager should ask the user to grant the android.permission.WRITE_SECURE_SETTINGS permission with ADB so Activity Manager can change the default assistant app. If the user had a default assistant app previously Activity Manager should set the default assistant app back to that.
Please add more details on this. If it works, I'll consider implementing it.
The OP choose to delete their account for some reason, so I somehow doubt that they will be returning, anyway it might not be exactly as they described it and IDR/IDK the specifics, but there are implementations that do indeed work, even on AOSP (without GApps), you can probably check https://github.com/zacharee/RootActivityLauncher & https://github.com/MuntashirAkon/AppManager to see how it's done (apologies for being vague and not pointing you directly to any commits, conversations, or whatever else, it's not on purpose, I'm just not very familiar with the matter, I just use the 1st specifically because it can do this, but don't like the UI at all, if I have to choose - I prefer your design).
BTW @sdex the pointless #109 discussion topic needs to be deleted, I will do the same myself with this exact off-topic comment later, don't worry and I'm posting it here because I don't want to comment there.
Please add more details on this. If it works, I'll consider implementing it.
Maybe this bit from App Manager's release notes for version 4.0.0-beta01 will explain it better:
The “Search assistant” (usually set to Google Assistant) feature allows setting arbitrary activity via the assistant key-value pair stored in the secure settings database. Hence, non-exported (that is, app private) activities can be launched even in no-root mode by exploiting this feature. However, modifying a secure setting require android.permission.WRITE_SECURE_SETTINGS permission which is granted automatically in ADB mode and has to be granted manually in no-root mode via ADB.
(App Manager has modes of operation)
@sdex
Reading the last message, this is actually something a tool called Shizuku can help with: it creates an ADB session that other apps can use to do things like, for example, granting the WRITE_SECURE_SETTINGS permission to themselves. The setup is slightly technical, but especially for the target audience of this app it is a viable option.
In the other issue (#128) I started from the position that, since it is kinda like "Root Lite", Shizuku would probably be able to completely provide this functionality by itself. If that actually turns out true it might be simpler, but also lock the user into the tool… but if there's the option for the user to just grant one ADB permission manually, and Shizuku just simplifies that process, I think that's still worthwhile.