我用
private void requestPermission(CallbackContext callbackContext) {
ActivityCompat.requestPermissions(this.cordova.getActivity(),
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
REQUEST_PERMISSION_READ_EXTERNAL_STORAGE);
}
在我的cordova插件中请求权限。现在的问题是我,如果获得结果的唯一方法是通过
,如何将结果传递给我的callbackContext
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
...}
无法再获取requestPermissions()的callbackContext?
非常感谢任何帮助!
再见
答案 0 :(得分:2)
您没有将回调上下文传递给这样的回调方法,您必须将回调上下文分配给实例变量,以便在方法中可以访问它。
private CallbackContext callbackContext; // declare the instance variable
一旦你知道回调上下文(它传递给execute
方法)你将它分配给变量:
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
this.callbackContext = callbackContext;
}
稍后在你的回调方法中你可以像这样使用它:
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
this.callbackContext.success();
}