Description
As part of TIMOB-19479 the media permissions was rewritten to be consistent across iOS and Android and use Ti.Media.requestCameraPermissions/hasCameraPermissions. Windows should move to match iOS and Android. A code sample can be found below
function showCamera() {
Titanium.Media.showCamera({
success : function(event) {
// called when media returned from the camera
Ti.API.debug('Photo taken successfully');
},
cancel : function() {
// called when user cancels taking a picture
Ti.API.debug('Photo cancelled.');
},
error : function(error) {
Ti.API.debug('Photo errored.');
// called when there's an error
var a = Titanium.UI.createAlertDialog({
title : "Camera"
});
a.setMessage(JSON.stringify(error));
a.show();
},
saveToPhotoGallery : true
});
}
if (Ti.Media.hasCameraPermissions()) {
showCamera();
} else {
Ti.Media.requestCameraPermissions(function(e) {
if (e.success === true) {
showCamera();
} else {
alert("Access denied, error: " + e.error);
}
});
}
Steps to reproduce
Run the code above on Windows Platform appc run -p windows
Actual result
The app will throw an error as the methods are not implemented
Expected result
You should be prompted to allow camera access
master: https://github.com/appcelerator/titanium_mobile_windows/pull/790
[~eharris] In the ticket description,
Actual
andExpect
results are inverted, right?Actual result
The app will throw an error as the methods are not implementedExpected result
You should be prompted to allow camera access[~kota] yup, sorry about that! Updated
Note for QE: - Calling
requestCameraPermissions()
callbackssuccess=true
when there'swebcam
capability configured in {tiapp.xml}}. It should be configured in tiapp.xml because there's no way to request camera permission at runtime on Windows.Verified using: OS: Microsoft Windows 10 Pro 10.0.14393 Appc core: 6.0.0-56 Appc NPM: 4.2.8-7 Ti SDK: 6.0.0.v20161004202820 Appc Studio: 4.8.0.201609292239 Code in description now works as expected Closing ticket