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