美文网首页
从零开始学习Hbuilder(二)

从零开始学习Hbuilder(二)

作者: 林立镇 | 来源:发表于2021-01-18 17:14 被阅读0次

1 Events模块管理客户端以及系统事件

1.1 "newintent"

程序切换到后台后被第三方程序激活到前台时触发此事件。
若应用需要根据第三方程序调用时进行业务处理(如判断传入的参数打开指定页面),可通过注册“newintent”事件监听

1.2 "pause"

当程序从前台切换到后台时会触发此事件

1.3 "resume"

运行环境从后台切换到前台事件

1.4 "splashclosed"

应用启动后关闭启动界面时触发,不管是应用自动关闭还是调用plus.navigator.closeSplashscreen方法,都会触发此事件。

2 plus.android直接调用安卓Native Java接口通道

2.1 requestPermissions请求权限
// 申请定位权限
function requestLocation(){
    plus.android.requestPermissions(['android.permission.ACCESS_FINE_LOCATION'], 
      function(e){
        if(e.deniedAlways.length>0){    //权限被永久拒绝
            // 弹出提示框解释为何需要定位权限,引导用户打开设置页面开启
            console.log('Always Denied!!! '+e.deniedAlways.toString());
        }
        if(e.deniedPresent.length>0){   //权限被临时拒绝
            // 弹出提示框解释为何需要定位权限,可再次调用plus.android.requestPermissions申请权限
            console.log('Present Denied!!! '+e.deniedPresent.toString());
        }
        if(e.granted.length>0){ //权限被允许
            //调用依赖获取定位权限的代码
            console.log('Granted!!! '+e.granted.toString());
        }
      }, function(e){
        console.log('Request Permissions error:'+JSON.stringify(e));
      }
    );
}
2.2 importClass导入Java类对象
// 导入android.content.Intent类对象
function testImport(){
    var Intent = plus.android.importClass("android.content.Intent");
    // 导入后可以使用new方法创建类的实例对象
    var intent=new Intent();
}
            

3 plus.ios直接调用ios的Native Objective-C接口通道

3.1 newObject 创建实例对象
// 监听plusready事件  
document.addEventListener( "plusready", function(){
    // 扩展API加载完毕,现在可以正常调用扩展API
    // 创建GKLocalPlayer类的一个实例对象
    var localplayer  = plus.ios.newObject("GKLocalPlayer");
}, false );
3.2 invoke 调用对象(类对象/示例对象)的方法
// 监听plusready事件  
document.addEventListener( "plusready", function(){
    // 扩展API加载完毕,现在可以正常调用扩展API
  // 创建UIAlertView类的实例对象
  var view = plus.ios.newObject("UIAlertView");
  // 设置提示对话上的内容,这里的方法名称中必须包含':'字符
  plus.ios.invoke(view,"initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:"
      , "自定义标题" // 提示框标题
      , "使用NJS的原生弹出框,可自定义弹出框的标题、按钮"  // 提示框上显示的内容
      , null // 操作提示框后的通知代理对象,暂不设置
      , "确定(或者其他字符)" // 提示框上取消按钮的文字
      , null ); // 提示框上其它按钮的文字,设置为null表示不显示
  // 调用show方法显示提示对话框,在JS中使用()语法调用对象的方法
  plus.ios.invoke(view,"show");
}, false );

相关文章

网友评论

      本文标题:从零开始学习Hbuilder(二)

      本文链接:https://www.haomeiwen.com/subject/vssxzktx.html