Android蓝牙权限异常

时间:2013-08-29 07:40:48

标签: android android-manifest android-bluetooth

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

  

08-29 13:07:08.370:E / DatabaseUtils(31342):   java.lang.SecurityException:Permission   拒绝:写com.android.bluetooth.opp.BluetoothOppProvider uri   内容://com.android.bluetooth.opp/btopp来自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>

1 个答案:

答案 0 :(得分:1)

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

来源this回答几乎相似的问题Android bluetooth print stopped working on 4.1。请参阅解决方案链接。