안드로이드 개발 질문/답변
(글 수 45,052)
안드로이드 1.6 Donut에서 테스트 중입니다.
단말에서 다음코드로 실행해 보았습니다.
.
.
.
import android.server.BluetoothDeviceService;
.
.
.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String remodeAddr = "00:22:A9:43:XX:XX";
BluetoothDeviceService bs = new BluetoothDeviceService(this);
bs.init();
Log.e("BT TEST", bs.getAddress());
Log.e("BT TEST", bs.getCompany());
Log.e("BT TEST", bs.getInterfaceDescriptor());
Log.e("BT TEST", bs.getManufacturer());
Log.e("BT TEST", bs.getName());
Log.e("BT TEST", bs.getRemoteCompany(remodeAddr));
Log.e("BT TEST", bs.getRemoteManufacturer(remodeAddr));
Log.e("BT TEST", bs.getRemoteName(remodeAddr));
Log.e("BT TEST", bs.getRemoteRevision(remodeAddr));
Log.e("BT TEST", bs.getRemoteVersion(remodeAddr));
Log.e("BT TEST", String.valueOf(bs.getRemoteClass(remodeAddr)));
Log.e("BT TEST", bs.getRemoteFeatures(remodeAddr).toString());
}
위에 코드에서 bs.init(); 부분에서 에러가납니다. ㅠ
04-12 11:53:18.642: ERROR/BluetoothDeviceService.cpp(5491): Could not get onto the system bus: Failed to connect to socket /dev/socket/dbus: Permission denied
04-12 11:53:18.645: ERROR/bluedroid(5491): open(/sys/class/rfkill/rfkill0/state) failed: Permission denied (13)
04-12 11:53:18.649: ERROR/BluetoothEventLoop.cpp(5491): initializeNativeDataNative: Could not get onto the system bus!
04-12 11:53:18.650: ERROR/libdbus(5491): arguments to dbus_connection_set_exit_on_disconnect() were incorrect, assertion "connection != NULL" failed in file external/dbus/dbus/dbus-connection.c line 2843.
04-12 11:53:18.650: ERROR/libdbus(5491): This is normally a bug in some application using the D-Bus library.
말그대로 권한이 없다는 것 같습니다.
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />
매니페스트에 위와같이 셋팅되어있습니다.
다른분들께서는 도넛에서 어떻게 블루투스제어를 하시는지요.
각종 샘플을 검색하여 실행해보았으나, 탐색 및 장치간 pair 까지는 되었으나 소켓생성하는 부분에서 다 에러를 뱉더군요..
경험을 구합니다ㅠ
단말에서 다음코드로 실행해 보았습니다.
.
.
.
import android.server.BluetoothDeviceService;
.
.
.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String remodeAddr = "00:22:A9:43:XX:XX";
BluetoothDeviceService bs = new BluetoothDeviceService(this);
bs.init();
Log.e("BT TEST", bs.getAddress());
Log.e("BT TEST", bs.getCompany());
Log.e("BT TEST", bs.getInterfaceDescriptor());
Log.e("BT TEST", bs.getManufacturer());
Log.e("BT TEST", bs.getName());
Log.e("BT TEST", bs.getRemoteCompany(remodeAddr));
Log.e("BT TEST", bs.getRemoteManufacturer(remodeAddr));
Log.e("BT TEST", bs.getRemoteName(remodeAddr));
Log.e("BT TEST", bs.getRemoteRevision(remodeAddr));
Log.e("BT TEST", bs.getRemoteVersion(remodeAddr));
Log.e("BT TEST", String.valueOf(bs.getRemoteClass(remodeAddr)));
Log.e("BT TEST", bs.getRemoteFeatures(remodeAddr).toString());
}
위에 코드에서 bs.init(); 부분에서 에러가납니다. ㅠ
04-12 11:53:18.642: ERROR/BluetoothDeviceService.cpp(5491): Could not get onto the system bus: Failed to connect to socket /dev/socket/dbus: Permission denied
04-12 11:53:18.645: ERROR/bluedroid(5491): open(/sys/class/rfkill/rfkill0/state) failed: Permission denied (13)
04-12 11:53:18.649: ERROR/BluetoothEventLoop.cpp(5491): initializeNativeDataNative: Could not get onto the system bus!
04-12 11:53:18.650: ERROR/libdbus(5491): arguments to dbus_connection_set_exit_on_disconnect() were incorrect, assertion "connection != NULL" failed in file external/dbus/dbus/dbus-connection.c line 2843.
04-12 11:53:18.650: ERROR/libdbus(5491): This is normally a bug in some application using the D-Bus library.
말그대로 권한이 없다는 것 같습니다.
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />
매니페스트에 위와같이 셋팅되어있습니다.
다른분들께서는 도넛에서 어떻게 블루투스제어를 하시는지요.
각종 샘플을 검색하여 실행해보았으나, 탐색 및 장치간 pair 까지는 되었으나 소켓생성하는 부분에서 다 에러를 뱉더군요..
경험을 구합니다ㅠ
2010.04.12 17:11:00
지원은 2.0부터 되는것으로 저도 알고있지만
제가 가진 일반폰에서 1.6 donut이 포팅된 안드로이드폰에 블루투스로 사진 및 동영상을 전송하였습니다.
수신이 된다는건 송신이 가능하단것이고, 실제 android.bluetooth라는 패키지가 있는데, 사용 가능할 것 같습니다.
그래서 1.6에서 블루투스로 다른 블루투스 장치를 "탐색-접속-송수신" 과정을 하려는데 많이 막히는군요....



