拍照和打电话功能的代码

什么是混合开发:
概述:
Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。Hybrid App兼具了Native App良好用户体验的优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。
目前已经有众多Hybrid App开发成功应用,比如美团、爱奇艺、微信等知名移动应用,都是采用Hybrid App开发模式。

Image.png
混合开发的优点与缺点:
优点
各平台表现一致:
内容更新不需要内容审查:

缺点:
1.与原生开发有差距
2.前端代码容易被盗取

Image.png

Image.png

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

<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 οnclick="getCamera()">照相</button>
     <button οnclick="callPhone()">10086</button>
     <audio src="15409355.aac" id="audio"></audio>
</body>
</html>

几个辅助使用的网址:
http://ask.dcloud.net.cn/docs/
组件:
http://dev.dcloud.net.cn/mui/ui/#dtpicker
http://dev.dcloud.net.cn/mui/
http://dev.dcloud.net.cn/mui/ui/#listview

本文作者祈澈姑娘,转载请标明作者和文章的原文链接,创作不易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值