Releases: mouldybread/DisplayLauncher
Release list
v0.3.3
Display Launcher v0.3.3
🚀 Reliability & Boot Enhancements
-
BootReceiver Self-Healing Mechanism: Added a self-healing check in
LauncherService.onCreate()to combat aggressive Smart TV/Display OS power management. Certain Android implementations (such as Hisense/Android TV sets) silently place background broadcast receivers intodisabledComponentsafter reboots, breaking theBOOT_COMPLETEDbroadcast. The service now checksPackageManageron startup and dynamically forcesBootReceiverback toENABLED, guaranteeing that the launcher daemon and local web server survive cold reboots and hard power cuts.- Ported from
adb-auto-enablePR #17 (Credit:@andornaut).
- Ported from
-
Automated Web Server Watchdog: Introduced a background monitoring handler that checks the local web server every 60 seconds. If the server drops offline or encounters an unexpected exception, it is automatically re-initialized without needing manual intervention.
-
Enhanced Background Service Persistence: Strengthened
onTaskRemovedhandling using systemAlarmManagerfallbacks, ensuring the background service immediately revives itself if the launcher task is cleared from memory by the OS. -
Android 13+ Notification Resilience: Improved foreground service handling when running on modern Android versions. If notification permissions are suppressed or denied, the service now continues executing safely in the background without triggering system crash timeouts.
Full Changelog: v0.3.2...v0.3.3
v0.3.2
Update ci/cd to output signed APKs
Full Changelog: v0.3.1...v0.3.2
Release v0.3.1: Intent Extras Support & Stream Viewer Integration
🎯 Major Features
Intent Extras Support
- Pass custom parameters to apps via
extra_stringor individualextra_*parameters - Enable deep integration with apps like Android Stream Viewer
- Launch apps with specific configurations (e.g., specific camera selection)
- Support for both comma-separated format and individual parameters
Stream Viewer Integration
- Launch Stream Viewer directly to a specific camera
- Perfect for automated camera switching via Home Assistant
- Complete ADB-free camera control workflow
✨ Enhancements
- Enhanced documentation with intent extras examples
- Complete Home Assistant integration guide with camera automation examples
- Added foreword explaining the ADB-free ecosystem vision
- Updated API documentation with intent extras format and usage
📚 Documentation Updates
- API Reference updated with complete intent extras documentation
- Home Assistant guide with camera rotation examples
- Intent format specification (comma-separated and individual parameters)
- Troubleshooting section for intent-based launches
🔗 ADB-Free Ecosystem
This release is part of a three-app ecosystem designed to eliminate ADB dependency:
- Auto ADB Enable - Temporary workaround
- Display Launcher (this app) - ADB-free app control with intent extras
- Android Stream Viewer - ADB-free camera display
💡 Usage Examples
Launch camera app with specific camera:
// Comma-separated format
POST /api/launch-intent
{
"packageName": "com.tpn.streamviewer",
"action": "android.intent.action.MAIN",
"data": "",
"extra_string": "camera_name:FRONTDOOR"
}
// Individual parameter format
{
"packageName": "com.tpn.streamviewer",
"action": "android.intent.action.MAIN",
"extra_camera_name": "FRONTDOOR"
}
Launch YouTube video:
{
"packageName": "com.google.android.youtube",
"action": "android.intent.action.VIEW",
"data": "vnd.youtube://dQw4w9WgXcQ"
}
Launch app with multiple parameters:
{
"packageName": "com.example.app",
"action": "android.intent.action.MAIN",
"extra_string": "mode:fullscreen,theme:dark"
}
📦 Installation
Download app-release.apk from the assets below.
Requirements:
- Android 7.0+ (API 24+)
- Device must be set as default launcher
- Network access for REST API control
🔄 Upgrading
This is a minor update with no breaking changes. Simply install over the existing version.
Display Launcher v0.3 - APK Management Update
🎯 What's New
APK Installation via Web UI
- Upload APK files directly through the web interface
- Install apps remotely without needing ADB access
- Automatic cleanup of temporary files after installation
App Uninstall Support
- Uninstall apps directly from the web interface
- One-click uninstall button for each installed app
- Confirmation dialogs appear on device for safety
🔧 Improvements
- Enhanced web UI with install/uninstall controls for each app
- More reliable app management using dedicated activities
- Better error handling for install and uninstall operations
- Improved compatibility across Android versions
🐛 Bug Fixes
- Fixed context issues preventing uninstall dialogs from appearing
- Resolved file cleanup after APK installations
📝 Notes
- Install and uninstall actions require confirmation on the device screen (Android security requirement)
- APK upload size limited by device storage
- Requires
REQUEST_INSTALL_PACKAGESandREQUEST_DELETE_PACKAGESpermissions
⚠️ Security Note
This release adds APK installation capabilities. Only use on trusted networks as there is no authentication (coming in future release).
Display Launcher v0.2 - Intent Support & Home Assistant Integration
Display Launcher v0.2 - Intent Support & Home Assistant Integration
🎯 What's New
This release adds intent-based launching capabilities and comprehensive Home Assistant integration.
✨ New Features
Intent-Based App Launching
- New API Endpoint:
/api/launch-intentfor advanced app launching with Android intents - Deep Link Support: Open specific YouTube videos, URLs, or app-specific content
- Intent Actions: Support for VIEW, MAIN, SEARCH, and custom intent actions
- Data URIs: Pass data to apps (e.g.,
vnd.youtube://VIDEO_IDfor YouTube)
Home Assistant Integration
- Complete Integration Guide: New
HOME_ASSISTANT.mddocumentation - REST Commands: Pre-configured YAML for easy setup
- Input Selects: Device and app selection helpers
- Scripts: Ready-to-use launcher scripts for single or multi-device control
- Automation Examples: 6+ real-world automation examples included
🔧 Improvements
- GitHub Actions: Fixed CI/CD workflow to only trigger on published releases
- Better Error Handling: Improved error messages for intent launching
- Documentation: Extensive API reference and troubleshooting guide
📦 API Changes
New Endpoint: POST /api/launch-intent
Request:
{
"packageName": "com.google.android.youtube",
"action": "android.intent.action.VIEW",
"data": "vnd.youtube://dQw4w9WgXcQ"
}Response:
{
"success": true,
"message": "App launched successfully with intent"
}🏠 Home Assistant Examples
Open YouTube Video
service: rest_command.launch_app_with_intent
data:
device_ip: "192.168.1.101"
package_name: "com.google.android.youtube"
action: "android.intent.action.VIEW"
data: "vnd.youtube://{{ youtube_video_id }}"Launch App on All Displays
service: script.launch_display_app
data:
device: "All Devices"
app: "YouTube (com.google.android.youtube.tv)"📝 Use Cases
- Digital Signage: Rotate content based on time of day or events
- Smart Home: Launch apps when motion detected or doors open
- Entertainment: Auto-start Netflix when "movie mode" activated
- Live Streams: Open specific YouTube streams on schedule
- URL Content: Display web content via browser intents
🚀 Upgrade Instructions
- Download the latest APK from this release
- Install over existing version (settings preserved)
- For Home Assistant users: Follow the
HOME_ASSISTANT.mdguide - Test intent launching with curl or Home Assistant Developer Tools
📚 Documentation
- Full Home Assistant Guide: See
HOME_ASSISTANT.md - API Reference: Included in Home Assistant guide
- Package Name Finder: Use
adb shell pm list packages
🐛 Bug Fixes
- Fixed GitHub Actions workflow triggering twice on release
- Corrected release asset upload permissions
⚠️ Known Limitations
- No HTTPS support (local network only)
- No authentication (use on trusted networks)
- System apps hidden by default
- Requires Android 7.0+
Display Launcher v0.1
Display Launcher v0.1
Initial release of Display Launcher - a headless Android TV launcher with web API control.
Features
- Web-based API for remote app launching (port 9091)
- Browser interface for manual control
- TV remote support with D-pad navigation
- Triple center-button press to access settings
- Dark theme optimized for TV displays
- Persistent background service
- Support for Android 7.0+
Installation
- Download
app-debug.apk - Install on your Android TV device
- Set as default launcher via ADB: