概述
/**
* 获取定位的权限
*/
private void initPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PERMISSION_GRANTED) {
// 检查权限状态
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)) {
/**
* 用户彻底拒绝授予权限,一般会提示用户进入设置权限界面
* 第一次授权失败之后,退出App再次进入时,再此处重新调出允许权限提示框
*/
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
Log.d("info:", "-----get--Permissions--success--1-");
} else {
/**
* 用户未彻底拒绝授予权限
* 第一次安装时,调出的允许权限提示框,之后再也不提示
*/
Log.d("info:", "-----get--Permissions--success--2-");
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1) {
for (int i = 0; i < permissions.length; i++) {
if (grantResults[i] == PERMISSION_GRANTED) {
// 申请成功
Log.d("info:", "-----get--Permissions--success--3-");
// SharedPreferencesUtils.getInstance().putString(Contranst.IS_LOCATION_SUCCESS, "success");
// mPresenter.initMap(mMapview, MainActivity.this, getSavedInstanceState());
} else {
// 申请失败
Toast.makeText(this, "请在设置中更改定位权限", Toast.LENGTH_SHORT).show();
Log.d("info:", "-----get--Permissions--success--4-");
}
}
}
}
此段代码可以放在想要获取的定位权限的Activity直接使用即可。
最后
以上就是直率火为你收集整理的android 定位权限权限的获取的全部内容,希望文章能够帮你解决android 定位权限权限的获取所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复