【问题标题】:Cordova camera not working科尔多瓦相机不工作
【发布时间】:2016-04-05 11:39:42
【问题描述】:

我们尝试使用 phonegap 从 Android 设备打开相机,但无法做到。你能帮我们解决这个问题吗?

下面是编写的代码。

<div>
        <input class="camerabutton" id="btnCamera" value="open camera" type="button" height="100" width="100" />
       </div>
           <script type="text/javascript" src="js/cordova.js"></script>
        <script type="text/javascript" src="js/cordova_plugins.js"></script>
        <script type="text/javascript" src="js/framework7.js"></script> 

        <script type="text/javascript">
        var myApp = new Framework7();

// Export selectors engine
var $$ = Dom7;

$$('.camerabutton').on('click', function () {

      navigator.camera.getPicture(onSuccess, onFail, {
                quality: 50
            });


        function onSuccess(imageData) {
          alert("test");
        }

        function onFail(message) {
            alert('Failed because: ' + message);
        }
});
  </script>

Config.xml 文件(给定所有权限)

  <feature name="http://api.phonegap.com/1.0/device" />
<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/file"/>
<feature name="http://api.phonegap.com/1.0/media"/>
<feature name="http://api.phonegap.com/1.0/network"/>

AndroidManifest.xml 文件

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

如果上面提到的代码有任何问题或需要添加一些东西,请告诉我们。

【问题讨论】:

    标签: android cordova cordova-plugins cordova-2.0.0


    【解决方案1】:

    嗯,经过一些研究,我们可以解决这个问题。这是 config.xml 中的问题,所以我用下面提到的代码替换了它。

    <?xml version='1.0' encoding='utf-8'?>
    <widget id="com.example.test" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
        <name>test</name>
        <description>
            A sample Apache Cordova application that responds to the deviceready event.
        </description>
        <author email="dev@cordova.apache.org" href="http://cordova.io">
            Apache Cordova Team
        </author>
        <content src="Contacts.html" />
        <plugin name="cordova-plugin-whitelist" spec="1" />
        <access origin="*" />
        <allow-intent href="http://*/*" />
        <allow-intent href="https://*/*" />
        <allow-intent href="tel:*" />
        <allow-intent href="sms:*" />
        <allow-intent href="mailto:*" />
        <allow-intent href="geo:*" />
        <platform name="android">
            <allow-intent href="market:*" />
        </platform>
        <platform name="ios">
            <allow-intent href="itms:*" />
            <allow-intent href="itms-apps:*" />
        </platform>
        <feature name="Contacts">
       <param name="android-package" value="org.apache.cordova.contacts.ContactManager" />
    </feature>
    <feature name="Camera">
    <param name="android-package" value="org.apache.cordova.CameraLauncher" />
    </feature>
    </widget>
    

    【讨论】:

    • 如果您更具体地了解您更改了哪些行,这对其他人会很有用
    • 你能详细说明你的答案吗?因为我的配置有 CameraLauncher。但还是不走运。首先,我使用 checkPermission 检查权限,如果没有,则在用户允许调用 getPicture 后请求权限。但是得到 ** " {"__zone_symbol_currentTask": {"type":"microTask", "state":"notScheduled", "source":"Promise.then", "zone":"angular","cancelFn":null ,"runCount"0}} **
    • 聪明的家伙!谢谢
    【解决方案2】:

    您是否尝试过在质量旁边添加选项:

    destinationType: Camera.DestinationType.DATA_URL
    

    File_uri 的默认值在我更改之前对我不起作用。

    我的科尔多瓦相机插件也不知何故死了一次。卸载插件并重新安装它立即解决了我的相机问题。

    【讨论】:

    • 我尝试了您上面提到的所有方法,但仍然无法正常工作。
    • 我刚刚遇到了一个问题,即相机 imageData 没有被保存,因为我在相机选项中与上面相同的位置没有 allowEdit: true 行。使用 allowEdit: false 或没有相机完全坏了。
    • 感谢您的帮助,但我的问题仍然存在。我不想要任何图像数据,我只想打开一个相机,但它没有打开。
    猜你喜欢
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    相关资源
    最近更新 更多