Ibm mobilefirst 在Android 6.x上使用getCurrentPosition

Ibm mobilefirst 在Android 6.x上使用getCurrentPosition,ibm-mobilefirst,Ibm Mobilefirst,版本:7.1.0.00-20161006-0540 操作系统:安卓6.0.1 当尝试使用getCurrentPosition函数时,它会失败 从系统注册位置更新时捕获到安全异常。应用程序没有足够的地理位置权限 但不显示允许权限的对话框。我假设这个插件可以帮你解决这个问题。 如果没有,JS是否有办法向用户显示提示?请确保您的应用程序中有以下内容,请参见文档: Android棉花糖需要在运行时授予用户权限。由于使用Javascript编写的运行时代码无法访问Android api,因此在启动Cor

版本:7.1.0.00-20161006-0540 操作系统:安卓6.0.1

当尝试使用getCurrentPosition函数时,它会失败 从系统注册位置更新时捕获到安全异常。应用程序没有足够的地理位置权限

但不显示允许权限的对话框。我假设这个插件可以帮你解决这个问题。
如果没有,JS是否有办法向用户显示提示?

请确保您的应用程序中有以下内容,请参见文档:

Android棉花糖需要在运行时授予用户权限。由于使用Javascript编写的运行时代码无法访问Android api,因此在启动Cordova Web框架之前,必须由本机代码请求并检查这些权限。本机文件夹中的文件[application name].java负责加载web资源。应该在此文件中调用请求和检查位置服务权限的代码,例如在onInitWebFrameworkComplete中


谢谢,出于某种原因,我认为更新插件可以处理这个请求。(不知道为什么Android没有走IOS的路线,自己处理请求)我还假设这也是摄像头和其他权限的方法。。
public void onInitWebFrameworkComplete(WLInitWebFrameworkResult result) {
    if (result.getStatusCode() == WLInitWebFrameworkResult.SUCCESS) {
        super.loadUrl(WL.getInstance().getMainHtmlFilePath());
    } else {
        handleWebFrameworkInitFailure(result);
    }

    if (! (WLClient.getInstance().getContext().checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PERMISSION_GRANTED)) {
        requestPermissions(new String[ {
            android.Manifest.permission.ACCESS_FINE_LOCATION}, 0);
    }
}