没有蓝牙的蓝牙的phonegap许可

时间:2018-07-08 09:46:17

标签: android cordova bluetooth phonegap diagnostics

Phonegap

config.xml

...
<preference name="android-build-tool" value="gradle" />
...
<preference name="phonegap-version" value="cli-7.0.1" />
...
<preference name="cordova.plugins.diagnostic.modules" value="CAMERA" />
....
<plugin name="cordova.plugins.diagnostic"/>

我的应用程序无法使用蓝牙,但是在安装时需要获得与蓝牙设备链接的权限

电话间隔记录

...
...
Fetching plugin "cordova.plugins.diagnostic" via npm
Installing "cordova.plugins.diagnostic" at "4.0.8" for android
...
...

如果我擦除,则所有内容都将保持不变

3 个答案:

答案 0 :(得分:1)

cordova.plugins.diagnostic 插件确实使用了蓝牙功能,如您在自述文件中所见。

如果您包含带有说明的插件

  

Cordova / Phonegap插件来管理设备设置

它肯定会询问所有可能的权限。为什么仍然需要这样的插件?

答案 1 :(得分:0)

诊断插件使用npm postinstall hook运行hook script,该as documented应用config.xml中的首选项来注释掉不需要的模块。

因此,dateTimeLabelFormats

  

在安装插件之前将首选项添加到config.xml是至关重要的,否则将不会应用该首选项,并且将添加所有模块。这是因为,由于Cordova CLI挂钩的限制,此插件必须使用npm安装过程来应用模块首选项,并且在安装插件时,此插件将在Cordova CLI之前运行。如果您更改了首选项中指定的模块,则需要卸载然后将插件重新安装到您的项目中以应用更改。

所以您应该尝试:

cordova plugin rm cordova.plugins.diagnostic --nosave
npm uninstall cordova.plugins.diagnostic
cordova plugin add cordova.plugins.diagnostic --nosave

注意:如果您在项目或node_modules中使用符号链接,则可能导致脚本失败,因为它无法解析正确的相对路径。

免责声明:我是Cordova Diagnostic插件的作者。

答案 2 :(得分:0)

我找到了一种方法,可以从 android.json

中删除几行代码来禁止在AndroidManifest.xml中添加权限

删除:

      {
          "xml": "<uses-permission android:name=\"android.permission.BLUETOOTH\" />",
          "count": 1
        }

如果它仍在添加BLUETOOTH权限,则删除其中所有带有“ bluetooth”的行。