应用程序停止使用相机时

时间:2013-11-07 11:34:57

标签: android cordova camera

在我基于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
}
                            );
}

任何人都可以帮我解决这个问题。

3 个答案:

答案 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)