import 'package:receive_sharing_intent/receive_sharing_intent.dart'; import 'MessageMgr.dart'; class ReceiveShareFile { static String tempFilePath; static int mLastClickTime = 0; static int timeInterval = 3000; static void init() { // For sharing images coming from outside the app while the app is in the memory ReceiveSharingIntent.getMediaStream() .listen((List value) { if (currentIndex == 1) { int nowTime = DateTime.now().millisecondsSinceEpoch; if (nowTime - mLastClickTime > timeInterval) { if (value != null && value.length > 0) { MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, value[0].path); mLastClickTime = nowTime; } } } else { // print("### 记录下来了1"); if (value != null && value.length > 0) { tempFilePath = value[0].path; } } }, onError: (err) { print("getIntentDataStream error: $err"); }); // For sharing images coming from outside the app while the app is closed ReceiveSharingIntent.getInitialMedia().then((List value) { // setState(() { // _sharedFiles = value; // print("Shared:" + (_sharedFiles?.map((f) => f.path)?.join(",") ?? "")); // }); // print('#### getfilePath ${value[0].path}'); if (currentIndex == 1) { int nowTime = DateTime.now().millisecondsSinceEpoch; if (nowTime - mLastClickTime > timeInterval) { // do something if (value != null && value.length > 0) { MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, value[0].path); mLastClickTime = nowTime; } } else {} } else { // print("### 记录下来了"); if (value != null && value.length > 0) { tempFilePath = value[0].path; } } }); // For sharing or opening urls/text coming from outside the app while the app is in the memory ReceiveSharingIntent.getTextStream().listen((String value) { print('#### getfilePath $value '); // setState(() { // _sharedText = value; // print("Shared: $_sharedText"); // }); }, onError: (err) { print("getLinkStream error: $err"); }); // For sharing or opening urls/text coming from outside the app while the app is closed ReceiveSharingIntent.getInitialText().then((String value) { print('#### getfilePath $value '); // setState(() { // _sharedText = value; // print("Shared: $_sharedText"); // }); }); } static int currentIndex = 0; static void start() { currentIndex = 1; if (tempFilePath != null) { MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, tempFilePath); } } static dispose() { currentIndex = 0; } }