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