내 이온 프로젝트에서 스크린 샷을 찍어 카메라 롤에 저장하고 싶습니다. 현재 버튼이 스크린 샷을 찍을 수 없습니다. 나는 안드로이드 장치에서 응용 프로그램을 테스트하고 있습니다. https://github.com/gitawego/cordova-screenshot스크린 샷 플러그인을 사용하여 ionic/cordova의 버튼을 통해 스크린 샷 찍기
index.html을
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="js/ng-cordova.min.js"></script>
<script src="cordova.js"></script>
<script src="js/app.js"></script>
</head>
<body ng-app="starter">
<ion-view>
<ion-content>
<button class="button" ng-click="$cordovaScreenshot.capture()">screenshot</button>
</ion-content>
</ion-view>
</body>
</html>
내 첫 코멘트에 후속으로
angular.module('starter', ['ionic','ngCordova'])
.service('$cordovaScreenshot', ['$q', function($q) {
return {
capture: function(filename, extension, quality) {
filename = filename || 'pic';
extension = extension || 'jpg';
quality = quality || '100';
var defer = $q.defer();
navigator.screenshot.save(function(error, res) {
if (error) {
console.error(error);
defer.reject(error);
} else {
console.log('screenshot saved in: ', res.filePath);
defer.resolve(res.filePath);
}
}, extension, quality, filename);
return defer.promise;
}
};
}]);
에서 찾을 수 있습니다. 나머지는 괜찮을 것 같습니다. ng-click은 서비스에서 직접 capture() 메소드를 실행할 수 없습니다. –
당신이 말하는 것은 말이됩니다. 내가 추가해야하는 컨트롤러의 내용을 자세히 설명해 주시겠습니까? –