为了账号安全,请及时绑定邮箱和手机立即绑定

Android 位置权限代码无法正常工作

Android 位置权限代码无法正常工作

泛舟湖上清波郎朗 2021-09-03 21:31:11
我编写了一个简单的代码,用于在运行时从用户那里获取位置权限。只有第一次它正常工作。之后,权限对话框根本不会出现。任何人都可以告诉我代码中缺少什么...  public static final String FINE_LOCATION=Manifest.permission.ACCESS_FINE_LOCATION;    public static final String COARSE_LOCATION=Manifest.permission.ACCESS_COARSE_LOCATION;    private static final int LOCATION_PERMISSION_REQUEST_CODE=1234;    private boolean mLocationPermissionGranted=false;  protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_maps);        getLocationPermission();}    public void initMap() {        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()                .findFragmentById(R.id.map);        mapFragment.getMapAsync(this);    }    public void onMapReady(GoogleMap googleMap) {        mMap = googleMap;        Toast.makeText(this, "Map is ready", Toast.LENGTH_SHORT).show();    } public void getLocationPermission(){        String [] permissions={Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION};        if(ContextCompat.checkSelfPermission(this.getApplicationContext(),FINE_LOCATION)==PackageManager.PERMISSION_GRANTED){            if(ContextCompat.checkSelfPermission(this.getApplicationContext(),COARSE_LOCATION)==PackageManager.PERMISSION_GRANTED){                mLocationPermissionGranted=true;                initMap();            } else {                ActivityCompat.requestPermissions(this,permissions,LOCATION_PERMISSION_REQUEST_CODE);             }            }            else {            ActivityCompat.requestPermissions(this,permissions,LOCATION_PERMISSION_REQUEST_CODE);        }    }我是谷歌地图编码的新手,所以我对此知之甚少。任何机构有解决方案请帮助我。提前致谢
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

只有第一次它正常工作。之后完全不出现权限对话框

一旦授予权限,则无需再次允许,除非用户通过设置应用程序更改它或重新安装应用程序等


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信