作者:猿奇
鏈接:www.reibang.com/p/9d8c7b7558d8
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有举反。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)蹂匹,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處岛都。
這個(gè)ionic native 插件是用來(lái)支持安卓(Android 26 及以上),新權(quán)限檢查機(jī)制的队魏。
剛問(wèn)朋友30了還不找女朋友想干啥公般,他懟道:“是ionic沒(méi)意思,還是angular不好玩啊胡桨,找啥女朋友”官帘,瞬間感覺(jué)猿力強(qiáng)大得不行呀,哈哈哈……
不扯犢子了昧谊,接著聊代碼……
安裝和運(yùn)行
如果沒(méi)有安裝過(guò) Node.js
刽虹,先去官網(wǎng)下載一下。
// 安裝(失敗的話 Mac 嘗試使用 sudo揽浙,Windows 嘗試管理員身份運(yùn)行 cmd)
$ npm install -g cordova ionic
// 創(chuàng)建應(yīng)用
// cd 到要?jiǎng)?chuàng)建項(xiàng)目的目錄状婶,輸入以下內(nèi)容創(chuàng)建ionic項(xiàng)目
// ionic3Test 是項(xiàng)目名,tabs是模板(默認(rèn)是tabs馅巷,其他還有blank的單頁(yè)等)
$ ionic start ionic3Test tabs
// 安裝依賴(lài)
// 會(huì)生成一個(gè) node_modules 文件夾膛虫,并在里面安裝 package.json 上寫(xiě)下的文件
$ cd ionic3Demo/
$ npm install
// 在瀏覽器中運(yùn)行項(xiàng)目
$ ionic serve
一、安裝插件
Ionic Cordova 原生插件之 Android Permissions
//cd 到項(xiàng)目目錄
$ 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
]
...
二钓猬、應(yīng)用
添加到--app.component.ts
import { AndroidPermissions } from '@ionic-native/android-permissions';
export class MyApp {
...
constructor(
...
private androidPermissions: AndroidPermissions) {
platform.ready().then(() => {
...
/*注入權(quán)限*/
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(
result => {
console.log('Has permission?',result.hasPermission);
if (!result.hasPermission){
alert("沒(méi)有位置權(quán)限需申請(qǐng)權(quán)限" + result.hasPermission);
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION])
.then(result => {//彈出彈框是否允許
if(result.hasPermission){//點(diǎn)擊允許
alert("允許使用LOCATION權(quán)限");
}else{//點(diǎn)擊拒絕
alert("拒絕使用LOCATION權(quán)限");
//this.platform.exitApp();//退出APP
}
});
}else{
alert("已允許位置權(quán)限" + result.hasPermission);
}
},
err => {
this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)
}
);
});
}
}