[Fire Q&A, Help & Troubleshooting] jkchr1s:
Unfortunately, the home detection is already running as a service. I contacted the original developer and he was extremely friendly and helpful, but pointed me to essentially the same thing:

https://stackoverflow.com/questions...-after-home-button-pressed-without-the-5-seco

He said for one reason or another this "feature" is not enabled on the Fire TV and it could quit working at any time from an OS update.

This morning as a quick test, I sent the intent to launch the Amazon launcher then another activity, but unfortunately, it still gets the 5 second delay. I've got to get ready for work, but I'll play with the some more after work. Apparently this has plagued developers for a looong time..

Update: Well, I managed to get an activity to start immediately after pressing home over ADB.

am start -a android.intent.action.MAIN -c android.intent.category.HOME com.teslacoilsw.launcher

However, attempting to exec this inside the Service is throwing an exception:

10-29 18:27:49.227 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: launcher thread: received: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] pkg=com.teslacoilsw.launcher }
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: launcher thread: received: java.lang.SecurityException: Permission Denial: startActivity asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at android.os.Parcel.readException(Parcel.java:1548)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at android.os.Parcel.readException(Parcel.java:1501)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2470)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at com.android.commands.am.Am.runStart(Am.java:766)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at com.android.commands.am.Am.onRun(Am.java:305)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at com.android.commands.am.Am.main(Am.java:97)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
10-29 18:27:49.255 19895-20104/de.belu.firestarter D/de.belu.firestarter.observer.ForeGroundService: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:256)

However, since this activates over ADB without root, I think I just need to figure out how to get the adb process to allow connections on localhost or emulator.

On the Fire TV, you can adb start-server and get emulator, but on the tablet you don't.

I added the following permissions to the manifest:

<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />

Over ADB, I was able to enable the INTERACT_ACROSS_USERS permission, but not INTERACT_ACROSS_USERS_FULL, which I believe is because I don't have root.

Operation not allowed: java.lang.SecurityException: Permission android.permission.INTERACT_ACROSS_USERS_FULL is not a changeable permission type

I'll keep you guys posted... if I can get adb to allow me to connect to itself like sphinx02 does, I think this method will work. Does anyone have any experience getting adb on the device to show up as a device to itself?