小编use*_*267的帖子

为什么在onRequestPermissionsResult之后调用onResume?

我遇到了android权限的一些问题.问题是每次调用onRequestPermissionsResult时都会调用onResume,即使用户已经说过"Never again again".

一个例子:

  @Override
  public void onResume() {
    super.onResume();
    startLocationProvider();
  }

  private void startLocationProvider() {
    if ( !locationService.requestLocationPermission( this, 0 ) ) {
      return;
    }

  @Override
  public void onRequestPermissionsResult( int requestCode, String[] permissions, int[] grantResults ) {
    if ( requestCode == 0 ) {
      if ( grantResults.length == 1 && grantResults[ 0 ] == PackageManager.PERMISSION_GRANTED ) {
        startLocationProvider();
      }
    }
Run Code Online (Sandbox Code Playgroud)

它工作正常,直到用户选择"永不再问"并拒绝.虽然没有向用户显示任何对话框,但我不知道为什么会一次又一次地调用onResume.

permissions android-6.0-marshmallow

10
推荐指数
1
解决办法
3186
查看次数