Releases: mouldybread/DisplayLauncher
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: