tauri-plugin-broadcast
A high-performance Android Intent Broadcast plugin for Tauri V2. This plugin allows your Tauri application to listen to system broadcasts, such as barcode scanner events, system status changes, and custom intents.
Built with Tauri V2 IPC Channels for reliable, point-to-point data transmission without global event namespace conflicts.
Features
- 🚀 High Performance: Direct IPC Channel communication.
- 📱 Android Native: Full support for Android BroadcastReceiver.
- 🛠️ Developer Friendly: Built-in TypeScript definitions and Vant-ready UI patterns.
- 🔒 Security First: Integrated with Tauri V2 permission system.
Installation
1. JavaScript/TypeScript (Frontend)
# or
2. Rust (Backend)
Add the following to your src-tauri/Cargo.toml:
[]
= { = "https://github.com/dduutt/tauri-plugin-broadcast", = "main" }
Setup
Plugin Registration
Register the plugin in your src-tauri/src/lib.rs:
Permissions
Add the permission to your capability file (e.g., src-tauri/capabilities/default.json):
Usage
Listen to Broadcasts (e.g., Barcode Scanner)
import { register, unregister } from 'tauri-plugin-broadcast-api';
const action = "com.android.server.scannerservice.seuic.scan";
// Start listening
const stop = await register(action, (event) => {
console.log('Received broadcast:', event.action);
console.log('Extras:', event.extras);
});
// Stop listening when needed
// await unregister(action);
API
register(action: string, onEvent: (event: BroadcastEvent) => void): Promise<() => void>
Registers a broadcast receiver for the specified intent action.
unregister(action: string): Promise<void>
Unregisters the broadcast receiver for the specified intent action.
Interfaces
export interface BroadcastEvent {
action: string;
extras: any;
}
License
MIT or Apache-2.0.