应用开启后请求某个权限,弹框手动点允许

某应用的主activity里面oncreate加入

if(ContextCompat.checkSelfPermission(this,
               Manifest.permission.ACCESS_FINE_LOCATION) !=PackageManager.PERMISSION_GRANTED
) {
               ActivityCompat.requestPermissions(this, newString[]{Manifest.permission. ACCESS_FINE_LOCATION }, 1);
       }

注意,先check后request,如果request的权限事先没有request,实测不会生效,都不会生效

一般权限给的不止一个,比如给定位权限,有三个都给一下

Manifest.permission.ACCESS_FINE_LOCATION) Manifest.permission.ACCESS_COARSE_LOCATION)

Manifest.permission.ACCESS_BACKGROUND_LOCATION

,总之参照framework下的defaultpermissiongrantpolicy来看

主要是导包

import android.content.pm.PackageManager;
import android.Manifest;
import android.support.v4.content.ContextCompat;
import android.support.v4.app.ActivityCompat;

最后这两个是系统源码依赖的包,不同于正常开发第三方app,导的是

import androidx.core.app.ActivityCompat;

import androidx.core.content.ContextCompat;

猜你喜欢

转载自blog.csdn.net/youthking1314/article/details/128913871