Warning!! amazon will reject your app because of Amazon SDK's bug
I just want to share my experience with all Fire TV developers here. I spent significatnt amount of a time on developmenting an app and Amazon rejected it because of its own bug. I really start to wondering why I spent time on this platform. Here's story Following is message from review email. Observation:- App does not remain stable when controller loses power : Video restarts on detecting a power down in controller. I start to debug code and I found when remote got powered off, OS would try manipulate activity states itself. I have captured InputManager.InputDeviceListener events, so it's not because i didn't handle hardware event. I have asked reviewer to provide more detail information or contact info and then I got same kind of template email back.... There is no official document talking how to handle this. If you are trying to developing a video related app, i think don't bother. it's wasting of your time. I have spent tons of tons of hour and they rejected my app because their own bug.
Did you do this:-
https://developer.amazon.com/public/solutions/devices/fire-tv/docs/amazon-fire-tv-sdk-frequently-asked-questions See this part on that page:- Q: How should I handle the TV being turned off/disconnected? A: The expected behavior for an HDMI disconnect is different for audio and video: Apps that play video should pause playback when the TV is turned off or disconnected. When the TV output returns, playback should remain paused until the user presses PLAY. Apps that play audio can continue to play if the TV is unavailable, but the device must must be connected with a TOSLINK (digital optical) audio connection for the audio to be heard. Listen for the AudioManager.ACTION_AUDIO_BECOMING_NOISY broadcast intent to test for HDMI changes.
Saw this and wanted chime in on this. If you run into this issue i added navigation to my android:configChanges. Mine looks like this android:configChanges="keyboardHidden|orientation|screenSize|keyboard|navigation" This way if the remote drops out the app still runs.