美文网首页
ionic cordova 插件之Android Permiss

ionic cordova 插件之Android Permiss

作者: 猿奇 | 来源:发表于2018-01-03 17:46 被阅读0次

    作者:猿奇
    链接:www.jianshu.com/p/9d8c7b7558d8
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    这个ionic native 插件是用来支持安卓(Android 26 及以上),新权限检查机制的。

    刚问朋友30了还不找女朋友想干啥,他怼道:“是ionic没意思,还是angular不好玩啊,找啥女朋友”,瞬间感觉猿力强大得不行呀,哈哈哈……

    不扯犊子了,接着聊代码……

    安装和运行

    如果没有安装过 Node.js,先去官网下载一下。

    // 安装(失败的话 Mac 尝试使用 sudo,Windows 尝试管理员身份运行 cmd)
    $ npm install -g cordova ionic
    
    // 创建应用
    // cd 到要创建项目的目录,输入以下内容创建ionic项目
    // ionic3Test 是项目名,tabs是模板(默认是tabs,其他还有blank的单页等)
    $ ionic start ionic3Test tabs
    
    // 安装依赖
    // 会生成一个 node_modules 文件夹,并在里面安装 package.json 上写下的文件
    $ cd ionic3Demo/
    $ npm install
    
    // 在浏览器中运行项目
    $ ionic serve
    

    一、安装插件

    Ionic Cordova 原生插件之 Android Permissions

    //cd 到项目目录 
    $ cd ionic3Demo/
    
    $ ionic cordova plugin add cordova-plugin-android-permissions
    $ npm install --save @ionic-native/android-permissions
    
    

    添加插件到--app.module.ts

    import { AndroidPermissions } from '@ionic-native/android-permissions';
    ...
    providers: [
        StatusBar,
        SplashScreen,
        {provide: ErrorHandler, useClass: IonicErrorHandler},
        AndroidPermissions
      ]
    ...
    

    二、应用

    添加到--app.component.ts

    import { AndroidPermissions } from '@ionic-native/android-permissions';
    
    export class MyApp {
        ...
      constructor(
       ...
        private androidPermissions: AndroidPermissions) {
        platform.ready().then(() => {
       ...
    
          /*注入权限*/
    this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(
            result => {
              console.log('Has permission?',result.hasPermission);
              if (!result.hasPermission){
                alert("没有位置权限需申请权限" + result.hasPermission);
                this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION])
                  .then(result => {//弹出弹框是否允许
    
                    if(result.hasPermission){//点击允许
                     alert("允许使用LOCATION权限");
                    }else{//点击拒绝
                      alert("拒绝使用LOCATION权限");
                      //this.platform.exitApp();//退出APP
                    }
                });
              }else{
                alert("已允许位置权限" + result.hasPermission);
              }
    
            },
            err => {
              this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)
            }
    
          );
    
        });
    
      }
    
    }
    
    
    

    相关文章

      网友评论

          本文标题:ionic cordova 插件之Android Permiss

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