首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将程序的Android许可请求结果传递给cordova "callbackContext"?

将程序的Android许可请求结果传递给cordova "callbackContext"?
EN

Stack Overflow用户
提问于 2017-09-30 15:51:07
回答 1查看 191关注 0票数 0

我使用

代码语言:javascript
运行
复制
private void requestPermission(CallbackContext callbackContext) {
    ActivityCompat.requestPermissions(this.cordova.getActivity(),
                    new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                    REQUEST_PERMISSION_READ_EXTERNAL_STORAGE);
}

向我的科多瓦插件申请许可。现在的问题是,如果获得结果的唯一方法是

代码语言:javascript
运行
复制
public void onRequestPermissionsResult(int requestCode,
        String permissions[], int[] grantResults) {
...}

哪种方法不能再获得callbackContext of requestPermissions()了?

任何帮助都是非常感谢的!

再见

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-01 11:33:03

不将回调上下文传递给回调方法,您必须将回调上下文分配给实例变量,这样就可以在方法中访问回调上下文。

代码语言:javascript
运行
复制
private CallbackContext callbackContext; // declare the instance variable

一旦您知道回调上下文(传递给execute方法),就将它分配给变量:

代码语言:javascript
运行
复制
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
  this.callbackContext = callbackContext;
}

在回调方法的后面,您可以这样使用它:

代码语言:javascript
运行
复制
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
  this.callbackContext.success(); 
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46504395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档