Set Voice Assistant (Long-Press Home Button Action) Programmatically
This is a small tool to set voice assistant (long press home button action) programmatically.
You always need to install this tool into /system/priv-app/, otherwise it won't work. This is usually achievable by using root explorer on rooted device or third-party recovery.
Usually you do not need this tool unless your rom blocks you from setting voice assistant or automatically reset the setting.
Simply clicking on the shortcut of this app will set the voice assistant to Google Search. You may also use other voice assistant by executing,
am start --user 0 -d "set-assistant://org.gemini.set-assistant/foo/bar/bar/foo" "org.gemini.set_assistant/.SetAssistantActivity"
Refer to the screenshots or sample at
https://github.com/Hzj-jie/android-init/blob/master/sample/set-assistant.sh
This app sets following three settings,
assistant
voice_interaction_service
voice_recognition_service
into the value provided by intent or the default value as Google Search.
and sets following two settings,
assist_structure_enabled
assist_screenshot_enabled
to 1.
Refer to the source code for details,
https://github.com/Hzj-jie/android-set-assistant/blob/master/src/main/java/org/gemini/set_assistant/SetAssistantActivity.java
This application is efficient and small: it does what it needs to do and exit. So you may need to use some other tools to start it automatically.
I am using "Event based script runner" at https://play.google.com/store/apps/details?id=org.gemini.init to execute this tool when resuming the device. You may refer to the sample at,
https://github.com/Hzj-jie/android-init/blob/master/sample/screen-on.sh
and
https://github.com/Hzj-jie/android-init/blob/master/sample/set-assistant.sh
The source code can be found at https://github.com/Hzj-jie/android-set-assistant. You may review it to verify the behavior of this application.