科尔多瓦相机不工作
Cordova camera not working
我们尝试使用 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" />
如果上面提到的代码中有任何问题或需要添加一些内容,请告诉我们。
您是否尝试过在质量旁边添加您的选项:
destinationType: Camera.DestinationType.DATA_URL
File_uri 的默认值在我更改之前对我不起作用。
我的 cordova 相机插件也莫名其妙地死了一次。卸载插件并重新安装它立即解决了我的相机问题。
嗯,经过一些研究,我们可以解决这个问题。这是 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>
我们尝试使用 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" />
如果上面提到的代码中有任何问题或需要添加一些内容,请告诉我们。
您是否尝试过在质量旁边添加您的选项:
destinationType: Camera.DestinationType.DATA_URL
File_uri 的默认值在我更改之前对我不起作用。
我的 cordova 相机插件也莫名其妙地死了一次。卸载插件并重新安装它立即解决了我的相机问题。
嗯,经过一些研究,我们可以解决这个问题。这是 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>