-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathreceive_sharing.dart
More file actions
29 lines (26 loc) · 915 Bytes
/
receive_sharing.dart
File metadata and controls
29 lines (26 loc) · 915 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import 'package:image_picker/image_picker.dart';
import 'package:listen_sharing_intent/listen_sharing_intent.dart';
class SharedIntent {
static List<XFile>? sharedFiles;
static Future<List<XFile>?> receiveSharedData() async {
try {
// Get the instance of ReceiveSharingIntent
ReceiveSharingIntent receiveSharingIntent = await ReceiveSharingIntent.instance;
// Get the initial shared data
List<SharedMediaFile> receivedFiles = await receiveSharingIntent.getInitialMedia();
if (receivedFiles.isNotEmpty) {
// Transform SharedMediaFile to XFile
sharedFiles = receivedFiles.map((sharedFile) => XFile(sharedFile.path)).toList();
return sharedFiles;
} else {
return null;
}
} catch (e) {
print('Error receiving shared data: $e');
return null;
}
}
static void cleanupSharedFiles() {
sharedFiles = null;
}
}