我正在尝试在Android应用程序的某个菜单上实现权限方法,但它给我的错误如下
ContextCompat类型中的方法checkSelfPermission(Context,String)不适用于参数(new BottomSheetListener(){},String)
此菜单的代码如下所示
else if(menuItem.getItemId() == R.id.save_image) {
int gpermission = ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA);
if (gpermission != PackageManager.PERMISSION_GRANTED) {
makeRequest1();
} else {
saveQuote();
}
}
请检查并告诉我是否有人可以帮助我:)。
答案 0 :(得分:3)
如果此代码在Activity类中,请写:
YourActivity.this
而不是this
,否则从父Activity获取上下文并使用它。
答案 1 :(得分:2)
而不是:
int gpermission = ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA);
写下这个:
int gpermission = ContextCompat.checkSelfPermission(this.getContext(),
Manifest.permission.CAMERA);
您正在引用BottomSheetListener
,您应该参考Context
。在BottomSheetListener
的构造函数中,从Context
或Activity
传递BottomSheet
并编写函数getContext()
,返回此上下文对象。