nativescript angular2相机错误

时间:2016-10-10 12:23:55

标签: angular camera nativescript

我试图让相机(硬件访问)在Windows 10上的nativescript angular2应用程序中工作。

但是在构建命令提示后我仍然遇到错误: - tns运行android

这是我的代码:

app.component.ts

import { Component } from "@angular/core";
import cameraModule = require("camera");
import imageModule = require("ui/image"); 

@Component({
selector: "my-app",
templateUrl: "app.component.html" 
}) 

export class AppComponent {

public takePic() {
    cameraModule.takePicture().then(picture => {
        console.log("Result is an image source instance");
        var image = new imageModule.Image();
        image.imageSource = picture;
    });
}
}

app.component.html

<StackLayout>
<Label text="Take a picture" class="title"></Label>

<Button text="take" (tap)="takePic()"></Button>
<Label [text]="take" class="message" textWrap="true"></Label>

这是我得到的错误:

EXCEPTION: Uncaught (in promise): Error: android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/org.nativescript.camera/files/cameraPicture_1010201614233.jpg exposed beyond app through ClipData.Item.getUri()

1 个答案:

答案 0 :(得分:1)

我只是在这里猜测,但很可能你正试图在Android N(Android 7)中拍照,而事实是不再允许定位file:// URI。新概念使用内容提供商处理文件,并表示NativeScript正在实施新的优化相机模块,该模块还处理Android的新文件要求。 新的相机模块计划与NativeScript 2.4.0一起发布,可以在this repository找到。

this thread,你可以找到新的相机插件的基本用法,它也适用于imageAssets(如果你想现在测试它,你将需要tns-core-modules @,因为这将被发布在版本2.4.0)