@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 库的链接如下:
我使用
Activity act = (Activity)(holder.call.getContext());
来获取 Activity,然后在 Dexter.withActivity()
中使用 act。其他解决方案均无效。我必须通过其中一个视图获取上下文,然后将其转换为活动,如上所示。
而不是使用
Dexter.withActivity(this)
使用
Dexter.withContext(this)