media_storage 0.0.1
media_storage: ^0.0.1 copied to clipboard
Flutter plugin that provides internal, external storage path and external public storage path and get all or specific Directory files list with all file informations.
media_storage #
media_storage is a flutter plugin that provides internal, external storage path and external public storage path.
https://pub.dev/packages/media_storage
Features #
MediaStorage.getExternalStoragePublicDirectory() needs Public Directory Type argument
Below given table contains the types of argument you can pass to getExternalStoragePublicDirectory() function
| MediaStorage |
|---|
| MediaStorage.DIRECTORY_MUSIC |
| MediaStorage.DIRECTORY_PODCASTS |
| MediaStorage.DIRECTORY_RINGTONES |
| MediaStorage.DIRECTORY_ALARMS |
| MediaStorage.DIRECTORY_NOTIFICATIONS |
| MediaStorage.DIRECTORY_PICTURES |
| MediaStorage.DIRECTORY_MOVIES |
| MediaStorage.DIRECTORY_DOWNLOADS |
| MediaStorage.DIRECTORY_DCIM |
| MediaStorage.DIRECTORY_DOCUMENTS |
| MediaStorage.DIRECTORY_SCREENSHOTS |
| MediaStorage.DIRECTORY_AUDIOBOOKS |
Usage #
First Add media_storage as a dipendency in your project pubspeck.yaml.
Then, import media_storage package.
import 'package:media_storage/media_storage.dart';
Package has these functions
// Get storage storage permission in all devices
Future<bool> getPermission() async {
bool isPermission = await MediaStorage.getRequestStoragePermission();
print(isPermission); // true or false
return isPermission;
}
// Get storage directory paths
Future<void> getPath_1() async {
var path = await MediaStorage.getExternalStorageDirectory("");
print(path); // /storage/emulated/0
}
// To get public storage directory path
Future<void> getPath_2() async {
var path = await MediaStorage.getExternalStoragePublicDirectory(MediaStorage.DIRECTORY_DOWNLOADS);
print(path); // /storage/emulated/0/Download
}
Future<List<AllMedia>> getPathFiles() async {
var path = await MediaStorage.getExternalStoragePublicDirectory("");
bool isPermission = await MediaStorage.getRequestStoragePermission();
if(isPermission){
// To get all or specific Directory files list with all file informations.
List<dynamic> _exPath = await MediaStorage.getMediaStoreData(path);
_filelist.clear();
AllMedia allMedia = AllMedia();
for(var i=0; i<_exPath.length; i++ ){
allMedia = AllMedia.fromJSON(_exPath[i]);
_filelist.add(allMedia);
}
}else{
await MediaStorage.getRequestStoragePermission();
}
return _filelist;
}