nativescript angular2 相机错误

nativescript angular2 camera error

我正在尝试让相机(硬件访问权限)在 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()

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

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