Skip to content
Jaroslaw Wisniewski edited this page Jul 4, 2018 · 3 revisions

What kind of wizardry is it?

As you can imagine, the Developer Assistant performs a kind of hacks in order to show stuff which normally is hidden. What's more, the app doesn't need a device to be rooted. The app doesn't need any special permissions. The app doesn't require developers to integrate any SDK, libraries etc. The app can scan almost any Android native app.

So how does it work? The Developer Assistant makes use of so-called assist API (available since Android 6.0 by the way). On top of that is a layer of heuristics which guesses as much as possible (and even more;)) from tiny pieces of information provided by the mentioned API. The usage of the assist API was an easy part. The heuristics and various smart tricks required to display something useful were the key and required a considerable chunk of my life;)

It comes at a price. The assist API constrains Developer Assistant in following ways:

  • The app needs to be set as a default assist app.
  • It has access to the assist API only after invoked by the assist intent. On most devices, it means a user needs to long press the home button in order to invoke it.

Can you provide other ways to invoke the app, except the home button?

Simply, I can't. The app depends on powers given to assistant apps. The Android OS decides itself what user needs to do in order to invoke an assistant. To influence that is beyond the power of third-party developers of Android apps.

Long press on the home button doesn't work

Customizable assistant apps have been introduced in Android 6.0. At the time being it's still quite a new thing. There are manufacturers and developers of custom Android ROMs which didn't adopt the customizable assistants in a way the stock Android handles them. Thus on some devices, a user needs to perform additional steps, on others, it just doesn't work at all.

Please check a dedicated page: How to setup: common problems.

Clone this wiki locally