私のイオンプロジェクトがスクリーンショットを撮ってカメラロールに保存したい。 現在、ボタンはスクリーンショットを撮ることができません。私はアンドロイドデバイスでアプリをテストしています。 https://github.com/gitawego/cordova-screenshotscreenshotプラグインを使用して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()メソッドを実行できません。 –
あなたが言っていることは理にかなっています。私が追加しなければならないコントローラーの内容を詳しく教えてください。 –