2013-08-29 60 views
0

在我的蓝牙应用程序中,我得到了下面的例外,任何人都可以帮助解决这个问题。Android蓝牙许可例外

08-29 13:07:08.370:E/DatabaseUtils(31342): java.lang.SecurityException异常:权限 拒绝:写com.android.bluetooth.opp.BluetoothOppProvider URI 内容:// COM从PID = 9760,UID .android.bluetooth.opp/btopp = 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> 

回答

1

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

来源this回答几乎类似的问题Android bluetooth print stopped working on 4.1。查看解决方案的链接。

+0

我没有使用那种意图类型我正在使用bluetoothShare类发送文件..你提到的答案已完成工作已完成。 – Arut

+0

我也使用android 2.3以及4.3 – Arut