以下是用于简单蓝牙配对Android项目的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.
任何想法?
作为补充说明,我在Intellij的Android Studio中导入了这个项目
答案 0 :(得分:4)
maxSdkVersion属性版本用于告知应该为您的应用授予此权限的最高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权限。
所以错误的是,即使棒棒糖也需要你获得访问蓝牙的许可。
答案 1 :(得分:0)
看起来这是一个非常简单的解决方案。我正在测试Android Lollipop(&gt; maxSdkVersion)因此出错。