A complete media picker solution for NativeScript. You will be able to pickup any types of file. Capturing image, video & audio are supported.
Note: For iOS this plugin is in under development, it contains dummy methods for ios return error :)
Features:
- Image, Video, Audio & custom file picker.
- Capturing Image, Video and Audio from APP directly.
- Custom files like pdf, text etc support.
- Single or Multiple selections.
- More...
Limitations
- Now, only supported for android.
tns plugin add nativescript-nativemediapicker
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="true" />
Add FileProvider to support (>=Android N) (create file_paths.xml in "app\App_Resources\Android\src\main\res\xml" & copy-paste following code)
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path path="demo/" name="myfiles" />
<external-path name="mediafiles" path="." />
</paths>
Add FileProvider tag to application tag in AndroidManifest.xml
<provider android:name="android.support.v4.content.FileProvider" android:authorities="{applicationId}.provider" android:grantUriPermissions="true" android:exported="false">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/file_paths" />
</provider>
Import
JavaScript:
var nativemediapicker = require("nativescript-nativemediapicker");
TS:
import { Nativemediapicker } from 'nativescript-nativemediapicker';
File Picker
// replace first parameter with your mime type
Nativemediapicker.pickFiles("image/*",
function(res){
console.log(res);
},
function(err){
console.log(err);
});
Capture Image
// registerFileProvider is needed to capture image
Nativemediapicker.registerFileProvider(
application.android.currentContext.getPackageName() +
".provider"
);
Nativemediapicker.takePicture(
function(res){
console.log(res);
},
function(err){
console.log(err);
});
Capture Video
Nativemediapicker.recordVideo(
function(res){
console.log(res);
},
function(err){
console.log(err);
});
Capture Audio
Nativemediapicker.recordAudio(
function(res){
console.log(res);
},
function(err){
console.log(err);
});
Android
Apache License Version 2.0, January 2004