java - Android Bluetooth_admin 权限错误

标签 java android bluetooth

关于 Android 蓝牙发现。

从 list 权限错误中获取此错误。但是,我发现发布的唯一错误是他们忘记将许可放在应用程序之外。然而,这里不是这种情况。

该程序在运行 Jelly Bean 4.1 的 Galaxy S2 上进行了测试。

错误如下:

03-19 13:08:03.933: W/dalvikvm(12616): threadid=1: thread exiting with uncaught exception (group=0x413082a0)
03-19 13:08:03.938: E/AndroidRuntime(12616): FATAL EXCEPTION: main
03-19 13:08:03.938: E/AndroidRuntime(12616): java.lang.SecurityException: Need BLUETOOTH_ADMIN permission: Neither user 10004 nor current process has android.permission.BLUETOOTH_ADMIN.

list 基本上是这样的:

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


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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:debuggable="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.motioncontrol.Main"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".AccelerometerDat"
            android:label="@string/accelerator_title" />
        <activity
            android:name=".GyroscopeData" />
        <activity
            android:name=".Gravitydat" />
        <activity
            android:name=".Linearacc" />
        <activity
            android:name=".Bluetooth" />
        <activity 
            android:name=".CheckBluetooth" />
        <activity
            android:name=".About"
            android:label="@string/about_title"
            android:theme="@android:style/Theme.Dialog" />
    </application>


</manifest>

以及发生错误的类:

 private void doDiscovery() {
    if (D) Log.d(TAG, "doDiscovery()");

    // Indicate scanning in the title
    setProgressBarIndeterminateVisibility(true);
    setTitle(R.string.scanning);
    Log.d(TAG, "indicates scanning");

    // Turn on sub-title for new devices
    findViewById(R.id.title_new_devices).setVisibility(View.VISIBLE);
    Log.d(TAG, "Set up sub-title for new devices");

    // If we're already discovering, stop it
    if (mBtAdapter.isDiscovering()) {
        mBtAdapter.cancelDiscovery();
        Log.i(TAG, "Already running discovering, stop it!");
    }

    // Request discover from BluetoothAdapter
    mBtAdapter.startDiscovery();
    Log.d(TAG, "Request discover form BluetoothAdapter");
}

希望得到答案,出了什么问题:)。

谢谢!

最佳答案

改变

<user-permission android:name="android.permission.BLUETOOTH_ADMIN" />              

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

<user-permission>用于规范其他应用程序对当前组件的访问。你应该试试 <uses-permission>获得特权。

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

相关文章:

java - 每次在 logback 中运行时创建新的日志文件?

java - 用户输入try&catch

java - 如何在目录/文件夹中查找子目录?

macos - 蓝牙嗅探器 - 最好是 mac osx

蓝牙 5.1 到达角向后兼容性

java - 我的 ExecutorService 代码有什么问题吗?

java - 在android中将图像url转换为位图时如何解决java.lang.OutOfMemoryError异常?

android - AsyncTask 的 Listview 的自定义适配器

android - 如何在 Android 上的特定时间段的一日日历 View 中显示日历事件?

android - Android 中的自定义蓝牙协议(protocol)支持