GVKun编程网logo

android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机

21

在这里,我们将给大家分享关于android–在没有CameraAPI的情况下,只在HTML输入的Phonegap应用程序上使用相机的知识,同时也会涉及到如何更有效地Android4.0上的PhoneG

在这里,我们将给大家分享关于android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机的知识,同时也会涉及到如何更有效地Android 4.0上的PhoneGap html5应用程序长按、android – Phonegap应用程序太快地隐藏了启动画面、android – 为什么phonegap应用程序在覆盖index.html后总是显示自己的默认页面、android – 为什么一个非常简单的phonegap应用程序使用移动数据计划?的内容。

本文目录一览:

android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机

android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机

是否可以在没有Camera API的情况下通过HTML输入从相机中的相机获取照片?

脚本

我开发了一个应用程序并通过Phonegap封装它(Build)

用户可以使用html文件输入提交照片.但是没有选择从相机拍摄新照片,只有画廊和文件(以及任何其他存储应用程序,如驱动器或DropBox,如果是这种情况).

我想启用相机选项,但没有PhoneGap的Camera API.

解决方案

我尝试了以下解决方案但没有成功:

1.“捕获”属性(从Raymond Camden post开始)

使用此方法,您所要做的就是添加“capture”属性,如下所示:

<input type="file" capture="camera" accept="image/*" id="JustChooseAnID">

Raymond解释说,使用这种方法你不需要使用PhoneGap的Camera API,因为谷歌开发了这个选项,并在Google IO presentation中显示它,根据谷歌开发者和雷蒙德,它的工作原理.

但是……不适合我.

2.配置Phonegap以询问相机的许可(从Jorge Lizaso’s question开始)

“也许相机选项没有显示,因为你的应用没有适当的权限”

在上面的问题中,提到了4种间接询问和接收使用相机的适当权限的方法.

我已经尝试了方法2和4,虽然我的应用程序现在要求相机权限并且我允许它正确,当我使用文件输入时,所有选项都被呈现(如图库和文件),但没有相机.

3(和1).使用最新版本的webkit和Crosswalk来确保解决方案#1

由于我的android webview可能会过时(并且与解决方案#1不兼容),我决定在我的应用程序中包含可能的最佳webview:the latest version of Google Chromium.

但是……再没有成功.

1,2和3组合在一起

结果:没有…成功.

解决方法:

是的,有一个解决方案,无需Cordova / PhoneGap的Camera API.

由于我所知的原因,CocoonJS中使用的webkit(名为WebView)比phonegap的Crossswalk更优化和调整为HTML5应用程序(请,我与Cocoon无关).

我完全丢弃了我的Phonegap config.xml设置并尝试了Cocoon builder.我使用解决方案#1(文件输入中的捕获属性)并通过Cocoon添加了这些插件:

<cocoon:plugin name="cordova-plugin-camera"/>
<cocoon:plugin name="cordova-plugin-media-capture"/>
<cocoon:plugin name="cordova-plugin-media"/>
<cocoon:plugin name="cordova-plugin-file"/>
<cocoon:plugin name="cordova-plugin-device"/>

重要的是要注意我刚安装这些插件以获得所需的权限,但我根本不使用它们.

可能更有经验的开发人员会有更好的解决方案,但就目前而言,这是我找到解决此问题的最佳方法.

Android 4.0上的PhoneGap html5应用程序长按

Android 4.0上的PhoneGap html5应用程序长按

嗨,我有一个用PhoneGap构建的Android应用程序.因此,用户界面构建为HTML5页面.它工作正常,直到我在Android 4.0上测试它,现在当我长按,android给我选择在UI中选择文本,并给我选项在顶部共享书签等.任何人都可以帮我关掉它?

解决方法:

使用以下内容更新您的app类

public class MainActivity extends DroidGap {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    super.loadUrl("file:///android_asset/www/index.html");

    super.appView.setonLongClickListener(new View.OnLongClickListener() {

        public boolean onLongClick(View v) {
            return true;
        }
    });
}}

android – Phonegap应用程序太快地隐藏了启动画面

android – Phonegap应用程序太快地隐藏了启动画面

我正在开发一个多平台的Phonegap应用程序,并使用Phonegap Build服务构建它并将其加载到设备上.我已经关注文档并在线进行了大量搜索,但仍然遇到了启动画面问题.该应用程序启动并显示启动画面约1秒钟,然后有一个白色闪光灯,偶尔在页面正确加载之前还有一些没有样式的html.我试图使启动屏幕持续约4秒,然后正确显示初始页面没有这些恼人的闪光 – 他们对用户体验有这样的负面影响,并使其真正感觉不像移动应用程序.
我无法获得config.xml文件的任何建议元素来指定splashscreen延迟.

我已经在iPad 2,iPhone 4s和最新的谷歌Nexus上进行了测试,所有3款设备都有这个问题,iPhone是最慢的,而Nexus显示速度非常快,但仍然是闪光灯.

我正在使用最新版本的Phonegap Build和用于UI和页面转换的jQuery mobile,所以我想知道这是否与它有关.

任何帮助深表感谢!

解决方法

您可以在config.xml中尝试使用它

<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="AutoHideSplashScreen" value="false" />

当你想隐藏时,在.js文件中

navigator.splashscreen.hide();

android – 为什么phonegap应用程序在覆盖index.html后总是显示自己的默认页面

android – 为什么phonegap应用程序在覆盖index.html后总是显示自己的默认页面

嗨,我已经在PhoneGap中创建了一个hello world类型的应用程序.我在www目录中有index.html,但它显示的是phonegap的默认主页.请参阅随附的屏幕截图,它始终显示.

的index.html

<html>
    <head>
        <Meta charset="utf-8" />
        <Meta name="format-detection" content="telephone=no" />
        <Meta name="msapplication-tap-highlight" content="no" />
        <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
        <Meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <title>Hello World</title>
    </head>
    <body>
        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
        <script type="text/javascript">
            app.initialize();
        </script>

        <form>
            Select your favourite color: <input type="color" name="favcolor">
            <br/>
            <input type="button" value="SUBMIT" />
        </form>

    </body>
</html>

但是,当我在Android手机中运行应用程序时,它总是显示这个.我已完成3-4重建完成项目但仍然相同.

我不确定出了什么问题或遗失了.

提前致谢.

解决方法:

我认为你正在对添加的平台内的www文件夹进行更改.
尝试在项目的根文件夹中存在的www文件夹中进行更改,然后进行构建,它肯定会起作用.
检查一下:

android – 为什么一个非常简单的phonegap应用程序使用移动数据计划?

android – 为什么一个非常简单的phonegap应用程序使用移动数据计划?

我创建了一个非常简单的移动应用程序,带有phonegap,它与网络无关.所有资源(图像,CSS等)都是本地的,我不会对远程服务器进行任何ajax调用.但是当我检查手机上的移动数据屏幕时,我发现它已经使用了一些数据.请参阅下面的截图(第4个应用程序称为“cherou vim phonegap test”).它说308KB,那是5小时.

点击它给我以下细分:

>前景:91.23KB
>背景:217KB

HTML:

<!DOCTYPE html> 
<html> 
<head>
    <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <Meta name="viewport" content="user-scalable=no,width=device-width" /> 
    <script type="text/javascript" src="phonegap.js"></script>
</head>
<body>
    ...
</body>
</html>

我使用phonegap构建,我的config.xml是:

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns     = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/1.0"
    id        = "cherouvim.test"
    version   = "1.0.0">

    <name>cherouvim phonegap test</name>
    <description>...</description>

    <preference name="phonegap-version" value="3.5.0" />
    <preference name="android-installLocation" value="auto" />
    <preference name="orientation" value="portrait" />
    <preference name="fullscreen" value="true" />

    <gap:plugin name="org.apache.cordova.media" />

    <feature name="http://api.phonegap.com/1.0/network" />
    <access origin="*" />

    <gap:platform name="android" />

</widget>

在文档中它说:

<!-- If you do not want any permissions to be added to your app,add the
    following tag to your config.xml; you will still have the INTERNET
    permission on your app,which PhoneGap requires. -->
<preference name="permissions" value="none"/>

这是否暗示Phonegap实际上在幕后做了网络相关的事情?

编辑:如果它很重要我正在使用nexus 5(android 4.4.4)并且我启用了“开发人员模式”和ART运行时.

解决方法

使用“启用调试”选项集在phonegap构建中构建应用程序会在< / body>之前注入以下内容.

<script type="text/javascript" src="http://debug.build.phonegap.com/target/target-script-min.js#35fd7e24-189a-11e4-8c3c-e63707b18140"></script>

这用于phonegap构建的weinre远程调试器.

没有“启用调试”选项的构建不会注入此远程脚本.因此,为生产使用而构建的应用程序实际上并不会像我最初想的那样使用任何移动数据.

我们今天的关于android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机的分享就到这里,谢谢您的阅读,如果想了解更多关于Android 4.0上的PhoneGap html5应用程序长按、android – Phonegap应用程序太快地隐藏了启动画面、android – 为什么phonegap应用程序在覆盖index.html后总是显示自己的默认页面、android – 为什么一个非常简单的phonegap应用程序使用移动数据计划?的相关信息,可以在本站进行搜索。

本文标签: