1.安装cordova相关权限插件
$ ionic cordova plugin add cordova-plugin-android-permissions
$ npm install --save @ionic-native/android-permissions@4
2.在app.module.ts中引入
import { AndroidPermissions } from '@ionic-native/android-permissions';
providers: [ File,FileOpener,AndroidPermissions]
2.在需要使用的页面使用方法
import { AndroidPermissions } from '@ionic-native/android-permissions';
constructor(private androidPermissions: AndroidPermissions) { }
//获取手机权限
getPrmissions (){
//查询手机是否有读写权限
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE).then(
(result) => {
console.log('本机权限状态:'+result.hasPermission);
}, (err) => {
//如果报错就申请手机权限
this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE)
});
//不报错的情况下请求手机权限
return new Promise((resolve)=>{
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE]).then((res)=>{
resolve(res);
console.log('status:'+res.hasPermission);
})
})
}
关于android权限如下
android.permission.ACCESS_CHECKIN_PROPERTIES
允许读写访问”properties”表在checkin数据库中,改值可以修改上传
android.permission.ACCESS_COARSE_LOCATION
允许一个程序访问CellID或WiFi来获取粗略的位置
android.permission.ACCESS_FINE_LOCATION
允许一个程序访问精良位置(如GPS)
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
允许应用程序访问额外的位置提供命令
android.permission.ACCESS_MOCK_LOCATION
允许程序创建模拟位置用于测试
android.permission.ACCESS_NETWORK_STATE
允许程序访问有关的网络信息
android.permission.ACCESS_SURFACE_FLINGE