Кордова приложение, с помощью камеры Plugin https://github.com/mbppower/CordovaCameraPreviewПредварительный просмотр камеры не отображается при первой загрузке на Android
Я запустить службу камеры, скрыть его, а затем, когда пользователь нажимает конкретная страница показывает окно предварительного просмотра снова. Он отлично работает на iOS, но не на Android. При запуске на Android-устройстве окно предварительного просмотра камеры по умолчанию не отображается, но оно появляется, если я минимизирую (нажав кнопку «домой»), а затем снова открывая приложение.
Я добавил console.log к методу show, и его действительно вызывают, даже если окно предварительного просмотра не отображается.
Основной метод инициализации:
var onDeviceReady = function() {
var tapEnabled = false; //enable tap take picture
var dragEnabled = false; //enable preview box drag across the screen
var toBack = false; //send preview box to the back of the webview
var rect = {x: 428, y: 190, width: 200, height: 150};
cordova.plugins.camerapreview.startCamera(rect, "front", tapEnabled, dragEnabled, toBack);
cordova.plugins.camerapreview.hide();
};
document.addEventListener('deviceready', onDeviceReady, false);
Мои шоу и скрыть функции:
var _show = function() {
// Show camera preview
if(cordova) {
console.log("show camera");
$timeout(function() {
cordova.plugins.camerapreview.show();
}, 250);
}
};
var _hide = function() {
// Hide camera preview
if(cordova) {
$timeout(function() {
cordova.plugins.camerapreview.hide();
}, 0);
}
};
- Даже после того, как функция шоу() вызывается, камера предварительного просмотра не отображается при первой загрузке. Я должен свести к минимуму, а затем снова открыть приложение для предварительного просмотра. Почему он отлично работает в iOS, но неправильно работает на Android?
Update
Если я никогда не скрыть его (удалить .hide() вызов, когда я начала камеру), то он показывает прекрасно! Проблема возникает, если я скрою ее, а затем попытаюсь выполнить показ. Он появится только после того, как я скрою, а затем снова открою приложение. Сделать это еще более странным; если внутри onDeviceReady выше я вызываю .hide(), а затем .show() сразу показывает окно предварительного просмотра!