0

在我的蓝牙应用程序中,我遇到了以下异常,任何人都可以帮助解决这个问题。

08-29 13:07:08.370: E/DatabaseUtils(31342): java.lang.SecurityException: Permission Denial: writing com.android.bluetooth.opp.BluetoothOppProvider uri content://com.android.bluetooth.opp/btopp from pid=9760, uid=10110 需要 android.permission.ACCESS_BLUETOOTH_SHARE 或 grantUriPermission()

我的清单文件是

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="process.bluetooth.sendfile"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="7"
    android:maxSdkVersion="17"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.BLUETOOTH" android:label="BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

<permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE"
    android:protectionLevel="signature" />

<application android:icon="@drawable/bluetooth" 
    android:label="@string/app_name"
    android:allowBackup="true">
    <activity android:name="process.bluetooth.sendfile.SendFileActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>

4

1 回答 1

1

如果您正在为 Android 4.1 或更高版本尝试它,那么直接写入内容提供者的权限现在受到“签名”的保护,这意味着您必须使用与蓝牙应用程序签名相同的密钥对您的应用程序进行签名。

在几乎类似的问题上找到这个答案Android bluetooth print stop working on 4.1。解决方案见链接。

于 2013-08-29T07:44:28.153 回答