混合开发中拍照和打电话功能的代码

简介: 混合开发中拍照和打电话功能的代码

什么是混合开发:

概述:

Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。Hybrid App兼具了Native App良好用户体验的优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。

目前已经有众多Hybrid App开发成功应用,比如美团、爱奇艺、微信等知名移动应用,都是采用Hybrid App开发模式。



Image.png


混合开发的优点与缺点:

优点

各平台表现一致:

内容更新不需要内容审查:


缺点:

1.与原生开发有差距

2.前端代码容易被盗取

混合开发中拍照和打电话功能的代码片段:

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>混合开发</title>
    <style>
     html{font-size:15.625vw;}
     img{width:100%;height:auto;}
    </style>
    <script type="text/javascript">
          document.addEventListener('plusready', function(){
              //console.log("所有plus api都应该在此事件发生后调用,否则会出现plus is undefined。"
          });
          function getCamera(){
              var cam = plus.camera.getCamera( 2);
              var Resolutions = cam.supportedImageResolutions[0]; //: 字符串数组,摄像头支持的拍照分辨率
              var Formats = cam.supportedImageFormats[0]; //: 字符串数组,摄像头支持的拍照文件格式
              //capturedfile
              cam.captureImage( function(capturedFile ){
                   //拍照成功
                   //alert('capturedfile');//
                   plus.io.resolveLocalFileSystemURL( capturedFile,
                   function(entry){
                        //成功
                        var img = document.createElement("img");
                        img.src =  entry.toLocalURL();
                        document.documentElement.appendChild(img);
                   }, function(){
                        //失败
                   } );
              }, function(){
                   //拍照失败
              }, function(){
                   //拍照参数
                   format : Formats
              } );
          }
          //打电话
          function callPhone(){
              document.getElementById("audio").play();
              plus.device.setVolume(1);
              //调用此方法获取程序是否一致保持唤醒状态。
              plus.device.isWakelock();
              //设置设备常亮
              plus.device.setWakelock( true );
              //设置震动事件单位为毫秒
              plus.device.vibrate( 1000 );
              //拨打电话,第一个参数为电话号码,第二个true则打开拨打电话界面,如果false则直接拨打
              plus.device.dial('18330822256',false);
              //
          }
    </script>
</head>
<body>
     <button onclick="getCamera()">照相</button>
     <button onclick="callPhone()">10086</button>
     <audio src="15409355.aac" id="audio"></audio>
</body>
</html>
相关文章
|
8月前
|
域名解析 JSON 测试技术
常见移动端APP测试场景
常见移动端APP测试场景
144 0
|
前端开发 安全 iOS开发
手把手教你做iOS逆向分析,突破微信的群发多选数量限制
很久没碰iOS开发了,最近都在web前端持续输出,加了很多推文群,每次群发文章的时候都要受到这个最多只能选择9个聊天的限制。 很不爽,好歹我也曾是一名iOS开发者呀,弄它~
633 0
手把手教你做iOS逆向分析,突破微信的群发多选数量限制
|
6月前
|
小程序
手机日记本小程序模板源码
手机日记本小程序模板源码
145 4
|
6月前
鸿蒙打电话功能
鸿蒙打电话功能
172 0
|
8月前
|
Web App开发 移动开发 JavaScript
移动端实现拍照功能——两种方法
移动端实现拍照功能——两种方法
|
8月前
|
XML Java Android开发
Android App开发手机阅读之使用贝塞尔曲线实现给主播刷礼物特效(附源码和演示视频 简单易懂 可直接使用)
Android App开发手机阅读之使用贝塞尔曲线实现给主播刷礼物特效(附源码和演示视频 简单易懂 可直接使用)
101 0
|
Web App开发 移动开发 JavaScript
移动端H5实现拍照功能的两种方法
移动端H5实现拍照功能的两种方法
701 1
|
Android开发
快应用安卓机进行真机调试(详细流程)
快应用安卓机进行真机调试(详细流程)
193 0
|
图形学
|
开发者
小视频APP源码开发者对小视频平台的三个忠告
作为一个小视频APP开发人员,向各位想要开发短视频APP的朋友们提出几点忠告