flutter_essential
is a Flutter plugin designed to provide essential utility functions including VPN and internet status monitoring, device information retrieval, content sharing, app launching, and vibration controls β all through a single, clean API.
- Check VPN and Internet connectivity
- Retrieve device information like ID and name
- Access app package info
- Share content to all or specific apps
- Launch apps using package name
- Use advanced vibration features (with patterns, feedback types)
- Real-time stream updates for VPN and Internet status
import 'package:flutter_essential/flutter_essential.dart';
FlutterEssential.startVpnStatusUpdates();
FlutterEssential.vpnStatusStream.listen((isConnected) {
print('VPN Connected: $isConnected');
});
// To stop:
FlutterEssential.stopVpnStatusUpdates();
FlutterEssential.startInternetStatusUpdates();
FlutterEssential.internetStatusStream.listen((isConnected) {
print('Internet Connected: $isConnected');
});
// To stop:
FlutterEssential.stopInternetStatusUpdates();
final deviceId = await FlutterEssential.getDeviceId();
final deviceName = await FlutterEssential.getDeviceName();
final packageInfo = await FlutterEssential.getPackageInfo();
await FlutterEssential.shareToAllApps(content: "Hello!");
await FlutterEssential.shareToSpecificApp(
content: "Hello!",
app: SharingApp.whatsapp, // example
);
await FlutterEssential.openApp(packageName: "com.example.app");
await FlutterEssential.vibrate(duration: 100);
await FlutterEssential.vibrateWithPattern(
pattern: [0, 100, 50, 200],
repeat: -1,
);
await FlutterEssential.cancelVibration();
await FlutterEssential.lightVibration();
await FlutterEssential.mediumVibration();
await FlutterEssential.heavyVibration();
class PackageInfo {
final String appName;
final String packageName;
final String version;
final String buildNumber;
PackageInfo({
required this.appName,
required this.packageName,
required this.version,
required this.buildNumber,
});
}
Ensure proper method channels are implemented on Android and iOS as needed.
MIT License