0

在我基于 Cordova2.9.0 的 Android 应用程序中,我包含了相机功能。当我使用 Galazy S3 拍摄相机时,应用程序重新启动,我发现了一些解决方案链接,如 1.Link1 2.Link2

并添加了更改

安卓清单文件

<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
}
                            );
}

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

4

3 回答 3

1

在这里我分享我的工作代码。

请尝试一下,并告诉我您是否有解决方案。

JS部分:

<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 与您提到的相同。

于 2013-11-07T12:14:17.613 回答
0

应用程序/res/xml/config.xml

<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />

你放了吗……

于 2013-11-07T11:43:45.253 回答
0

重启手机后解决了(Samsung Grant android 4.1.2)

于 2013-11-15T08:56:25.987 回答