2012-08-30 2 views
0

아래에 언급 된 의도를 전달하려고하는데 아래 예외가 발생합니다. 누구나 이것에 대해 어떤 생각을 가지고 있나?블루투스 의도 권한이 거부되었습니다.

Intent intent = new Intent(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED); 
intent.putExtra(BluetoothProfile.EXTRA_PREVIOUS_STATE, prevState); 
intent.putExtra(BluetoothProfile.EXTRA_STATE,BluetoothAdapter.STATE_CONNECTED); 
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mdevice); 
sendBroadcast(intent); 

이 java.lang.SecurityException : 권한 거부 : PID = 10459에서 android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED 브로드 캐스트를 보낼 수없는, UID가 10126

답변

-1

가 추가나요 =

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

귀하의 매니페스트에?

+0

그래 난 aded 모두 – jad

+0

권한 <사용-허가 안드로이드 : 이름 = "android.permission.BLUETOOTH"/> <사용 - 권한 안드로이드 : 이름 = "android.permission.BLUETOOTH_ADMIN"/> – jad

0

매니페스트에 권한을 추가 했습니까?

<uses-permission android:name="android.permission.BLUETOOTH" /> 
+0

예 내가 모두 aded 사용 권한 \t <사용 권한 android : name = "android.permission.BLUETOOTH"/><사용 권한 android : name = "android.permission.BLUETOOTH_ADMIN"/> – jad

0

ACTION_CONNECTION_STATE_CHANGED은 Android에서 방송 할 수 있고 보호해야하는 보호 된 의도입니다. 보호 된 의도를 브로드 캐스트 할 수 없습니다.

주로 블루투스 헤드셋의 상태를 변경할 수없는 앱에서 위장 의도를 수신하지 못하도록합니다.

상태를 변경하지 않은 경우 왜이 의도를 보내시겠습니까?

+0

실제로 내가 원하는 apk를 개발 중입니다. STATE_CONNECTED로 장치의 상태를 만들지 만 다른 장치 나 헤드셋을 연결하지 않습니다. STATE_CONNECTED 상태로 만들고 싶습니다. – jad

+1

하지만이 의도를받는 모든 응용 프로그램은 연결된 상태가 수신되는 즉시 연결을 열려고 시도하지만 실제 연결되어 있지 않기 때문에 충돌 할 수 있습니다. – nandeesh

+1

새 메시지를 브로드 캐스트 할 수없는 것과 같은 이유입니다 의도, 새로운 호출 의도, 새로운 연결 의도. 하나의 앱으로 인해 모든 앱이 다운되거나 데이터가 손상 될 가능성이 있습니다. – nandeesh

관련 문제