ScreenStramPlugin.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'dart:io';
  2. import 'package:flutter/services.dart';
  3. class ScreenStreamPlugin {
  4. static const _channel = MethodChannel("screen_stream");
  5. static Future<bool> start(String url) async {
  6. try {
  7. await _channel.invokeMethod("start", {"url": url});
  8. return true;
  9. } catch (e) {
  10. return false;
  11. }
  12. }
  13. static Future<bool> stop() async {
  14. try {
  15. await _channel.invokeMethod("stop", []);
  16. return true;
  17. } catch (e) {
  18. return false;
  19. }
  20. }
  21. static Future<bool> checkPermission() async {
  22. if (Platform.isAndroid) {
  23. try {
  24. bool success = await _channel.invokeMethod("checkPermission", []);
  25. return success;
  26. } catch (e) {
  27. return false;
  28. }
  29. } else {
  30. return true;
  31. }
  32. }
  33. static Future<bool> requestPermission() async {
  34. if (Platform.isAndroid) {
  35. try {
  36. bool success = await _channel.invokeMethod("requestPermission", []);
  37. return success;
  38. } catch (e) {
  39. return false;
  40. }
  41. } else {
  42. return true;
  43. }
  44. }
  45. }