在我基于Cordova2.9.0的Android应用程序中,我已经包含了相机功能。当我使用Galazy S3拍摄相机应用程序重启时,我发现了一些类似的解决方案链接 1.Link1 2.Link2
并添加了
的更改Android清单文件
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:alwaysRetainTaskState="true" android:launchMode="singleTask"/>
但仍然没有修复。这是我的相机代码
function capturePhoto()
{
navigator.camera.getPicture(onPhotoURISuccess,fail, {
quality: 50,
destinationType:Camera.DestinationType.FILE_URI
}
);
}
任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
我在这里分享我的工作代码。
请尝试,并告诉我你是否有解决方案。
JS Part:
<script type="text/javascript" charset="utf-8">
var pictureSource;
var destinationType;
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
function onPhotoURISuccess(imageURI) {
var largeImage = document.getElementById('largeImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
function capturePhoto() {
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: destinationType.FILE_URI });
}
function onFail(message) {
alert('Failed because: ' + message);
}
</script>
HTML部分:
<button onclick="capturePhoto();">Capture Photo</button><br />
<img style="display:none;width:60px;height:60px;" id="largeImage" src="" />
其余的config.xml和manifest.xml与你提到的相同。
答案 1 :(得分:0)
应用程序/ RES / XML / config.xml中
<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />
你把它放好了.....
答案 2 :(得分:0)
我重启手机后解决了(三星格兰特android 4.1.2)