ionic cordova 插件之Android Permiss
2018-01-03 本文已影响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)
}
);
});
}
}