【发布时间】:2016-12-09 08:07:28
【问题描述】:
我正在尝试从我的 Mobile Angular UI 项目中访问 Cordova 的相机插件。
navigator.geolocation 与所有其他 Cordova 东西一起工作,但是当我尝试访问 navigoator.camera 时,它返回为未定义。
当我不包含console.log(navigator) 相机时:
该插件是使用以下命令安装的,它位于我的插件文件夹中:
cordova插件添加cordova-plugin-camera
我目前正在尝试通过这样的工厂访问它:
angular.module('App.services.Camera', [
'App.services.Cordova'
])
.factory('openCamera', function(deviceReady, $document, $window, $rootScope){
return function(done) {
deviceReady(function() {
var srcType = Camera.PictureSourceType.CAMERA;
var options = setOptions(srcType);
var func = createNewFileEntry;
navigator.camera.getPicture(function cameraSuccess(imageUri) {
$rootScope.$apply(function(){
done(imageUri);
});
displayImage(imageUri);
func(imageUri);
}, function cameraError(error) {
console.debug("Unable to obtain picture: " + error, "app");
}, options);
});
};
});
我是否需要在某处引用插件才能将其添加到我的项目中,还是我以错误的方式安装插件?
【问题讨论】:
-
如果您想这样做,您可能会发现使用ngCordova 更容易。另外,您是否在浏览器中尝试过?那是行不通的——它实际上只能在移动设备上运行。
-
我只做了模拟器,它显然也不起作用。你知道是否有办法在浏览器中进行测试吗?相比之下,在设备上进行测试会非常耗时。
-
不,没有。我使用 Phonegap Build,它在 Adobe 的服务器上构建应用程序,通常我可以在几分钟内建立并运行一个新的构建。 iOS 的设置时间比 Android 长。
-
您可以编写单元测试并模拟依赖项。就本地测试而言,就是这样。
标签: javascript angularjs cordova phonegap-plugins mobile-angular-ui