即使在我使用 dexter 库专门询问权限之后,在使用这行代码之前也需要权限

Requires permission before using this line of code even after i use the dexter library to specifically ask permissions

@Override
public void onClick(View v) {
    Dexter.withActivity(this)
            .withPermission(Manifest.permission.CALL_PHONE)
            .withListener(new PermissionListener() {
                @Override public void onPermissionGranted(PermissionGrantedResponse response) {
                    Intent callIntent = new Intent(Intent.ACTION_CALL);
                    callIntent.setData(Uri.parse("tel:123456789"));


                    mcontext.startActivity(callIntent);}
                @Override public void onPermissionDenied(PermissionDeniedResponse response) {/* ... */}
                @Override public void onPermissionRationaleShouldBeShown(PermissionRequest permission, PermissionToken token) {/* ... */}
            }).check();
}

上下文 'this' 显示为错误。而且,即使我将调用某人的代码行放入 OnPermissionGranted() 方法中,它仍然显示为错误。我应该改变什么才能使这项工作?

dexter 库的 link 如下:

https://github.com/Karumi/Dexter

我用 Activity act = (Activity)(holder.call.getContext()); 得到了 activity 然后在 Dexter.withActivity() 里面使用了 act。 None 的其他解决方案有效。我必须通过其中一个视图获取上下文,然后将其转换为 activity,如上所示。