onRequestPermissionsResult не может быть вызван на v4.app.Fragment - PullRequest
0 голосов
/ 30 октября 2018
public void onClick(View v) {
    if(v.getId() == R.id.btnSave) {
        if (ActivityCompat.checkSelfPermission(getActivity(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                    REQUEST_PERMISSION_STORAGE);
        } else {
            //do something
        }

}

public void onRequestPermissionsResult(int requestCode, String[] permissions,
                                       int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == REQUEST_PERMISSION_STORAGE
            && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

    }

}

Я пытаюсь этот код с отладкой варианта сборки, вызывается функция onRequestPermissionsResult Но при выпуске варианта сборки эта функция onRequestPermissionsResult не может быть вызвана

1 Ответ

0 голосов
/ 30 октября 2018
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setLocationSendListener(this);
    takeRunTimePermission();

}

public void takeRunTimePermission() {
    ActivityCompat.requestPermissions(this,
            new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
            1);
}

@ Override public void onRequestPermissionsResult (int requestCode, Строковые разрешения [], int [] grantResults) { switch (requestCode) { дело 1: {

            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // permission was granted, yay! Do the
            } else {

                // permission denied, boo! Disable the
                Toast.makeText(this, "Permission denied", Toast.LENGTH_SHORT).show();
            }
            return;
        }

        // permissions this app might request
    }
}
...