Android 由于清单中的权限错误而未构建

问题描述 投票:0回答:2

Kind Stack-overflowers,我正在尝试创建一个博览会反应本机模块以便使用蓝牙,但是我遇到了一个奇怪的问题

这是错误:

Missing permissions required by intent BluetoothAdapter.ACTION_REQUEST_ENABLE: android.permission.BLUETOOTH_CONNECT

错误发生在这段代码周围:

val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
AppActivity?.startActivityForResult(enableBtIntent, this.ACTION_REQUEST_ENABLE);

此错误阻止我的模块构建,但是奇怪的是,当我将此属性添加到清单的模块中具有文件路径的属性时:

moduleName/manifests/AndroidManifest.xml
当我添加必要的权限时:像这样:

<manifest>
    <uses-permission name="android.permission.BLUETOOTH_CONNECT" />
</manifest>

我收到一个不同的重大错误:

Attribute is missing the Android namespace prefix
,我该如何解决这个问题?这是一个已知错误吗?

java android kotlin bluetooth expo
2个回答
0
投票

uses-permission 标签应该如下所示

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

您在“name”之前缺少“android:”(命名空间)

还要确保不再发生错误,请将以下内容添加到打开清单标记中

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

最终清单文件应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

</manifest>

0
投票

BLUETOOTH_CONNECT 不是请求启用蓝牙的正确权限。蓝牙的正确权限是BLUETOOTH

    <uses-permission android:name="android.permission.BLUETOOTH" />

确保在清单标记的开头包含 xmlns:android="http://schemas.android.com/apk/res/android" 声明。

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.BLUETOOTH" />
</manifest>

这可能会解决您的问题,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.