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

问题描述 投票:0回答:2
@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 库的链接如下:

https://github.com/Karumi/Dexter

java android android-adapter android-permissions
2个回答
0
投票

我使用

Activity act = (Activity)(holder.call.getContext());
来获取 Activity,然后在
Dexter.withActivity()
中使用 act。其他解决方案均无效。我必须通过其中一个视图获取上下文,然后将其转换为活动,如上所示。


0
投票

而不是使用

Dexter.withActivity(this)

使用

Dexter.withContext(this)
© www.soinside.com 2019 - 2024. All rights reserved.