I'm trying to request permissions from AsyncTask
called by a android.support.v4.app.Fragment
.
On doInBackground
method has this piece of code
int hasWriteContactsPermission = ContextCompat.checkSelfPermission((Context)ctx,
Manifest.permission.SEND_SMS);
if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
if (!ActivityCompat.shouldShowRequestPermissionRationale((AppCompatActivity)ctx,
Manifest.permission.SEND_SMS)) {
showMessageOKCancel("Necessary permissions", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
requestPermissions(new String[]{Manifest.permission.SEND_SMS},
REQUEST_CODE_ASK_PERMISSIONS);
}
});
return;
}
/******** PROBLEM
requestPermissions(new String[] {Manifest.permission.SEND_SMS},
REQUEST_CODE_ASK_PERMISSIONS);
*************/
return;
}
Calling requestPermissions through AppCompatActivity is not valid for me because i need to catch onRequestPermissionsResult
in Fragment
, not in Activity
The problem is that requestPermissions says this error:
Cannot resolve method requestPermissions
How can i call requestPermissions
method from Asynctask
to catch the result on the caller Fragment?