Android 权限 BLUETOOTH list 错误

标签 android gradle android-manifest

以下是一个简单的蓝牙配对安卓项目的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.bluetoothglassend"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission
        android:name="android.permission.BLUETOOTH"
        android:maxSdkVersion="19" />
    <uses-permission
        android:name="android.permission.BLUETOOTH_ADMIN"
        android:maxSdkVersion="19" />
    <uses-permission
        android:name="android.permission.BLUETOOTH_PRIVILEGED"
        android:maxSdkVersion="19" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

虽然不是必需的,但我已经为我能找到的所有 BLUETOOTH 参数添加了权限。然而,我得到这个错误:

java.lang.SecurityException: Need BLUETOOTH permission: Neither user 10145 nor current process has android.permission.BLUETOOTH.

有什么想法吗?

作为附加说明,我在 Android Studio 中从 Intellij 导入了这个项目

最佳答案

maxSdkVersion 属性 version 用于告知应该向您的应用授予此权限的最高 API 级别。如果从某个 API 级别开始不再需要您的应用所需的权限,则设置此属性很有用。

例如,从 Android 4.4(API 级别 19)开始,当您的应用想要写入其自己的外部存储上的应用特定目录(由 getExternalFilesDir 提供的目录)时,您的应用不再需要请求 WRITE_EXTERNAL_STORAGE 权限()).但是,API 级别 18 及更低级别需要该权限。因此,您可以声明此权限只需要达到 API 级别 18,声明如下:

<uses-permission
 android:name="android.permission.WRITE_EXTERNAL_STORAGE"
 android:maxSdkVersion="18" />

这样,从 API 级别 19 开始,系统将不再授予您的应用 WRITE_EXTERNAL_STORAGE 权限。

所以错误是即使 Lollipop 也需要您请求访问蓝牙的许可。

关于Android 权限 BLUETOOTH list 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786291/

相关文章:

android - 如何覆盖库中 Activity 的 screenOrientation 属性

android - 更改 mContext.getPackageName() 返回的包名称

未显示 Android 崩溃报告按钮

java - Twitter4j,回复推文

java - Gradle 构建脚本在 java 10 中失败

gradle - 如何在distTar中为gradle生成的脚本添加语句?

android - 错误 :Execution failed for task ':app:dexDebug' . com.android.ide.common.internal.LoggedErrorException:无法运行命令:

android - startActivity 每次都创建新的 Activity 实例

java - 返回按钮 -> 模拟主页按钮

android - Activity 打不开