며칠 전에 Google Play 스토어에 블루투스 스마트 스캐너 소프트웨어를 다운로드했습니다. 삼성 Galaxy S3 휴대 전화에 설치 한 후 Bluetooth LE 장치를 성공적으로 검색 할 수있었습니다.삼성 갤럭시 S3를 사용하여 BluetoothLE 장치에 연결
내 블루투스 LE 장치를 검색하는 데 모든 방법을 시도했지만 컴퓨터에 아무 것도 표시되지 않았습니다. 이렇게 나는이 소프트웨어를 decompiled, 포장에서 startLeDiscovery()
방법이 있었다 android.bluetooth
. 그러나 혼란 뭔지는이 방법이 마침내 안드로이드 SDK (15)
내 android.jar
에 존재하지 않았던 것이 었습니다, 나는 BlutoothAdapter.class
파일 및 블루투스 스마트 스캐너 소프트웨어의 그들과 android.jar
의 BluetoothDevice.class
파일을 대체 내가 성공적으로 할 수 있도록 Eclipse에서 startLeDiscovery()
메소드를 호출하십시오. 소스 코드는 아래와 같습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter intent = new IntentFilter();
intent.addAction(BluetoothDevice.ACTION_FOUND);
intent.addAction(BluetoothDevice.EXTRA_UUID);
intent.addAction(BluetoothDevice.ACTION_GATT_PRIMARY_UUID);
registerReceiver(searchDevices, intent);
//bluetooth.discovery();
bluetooth.startLeDiscovery();
}
private BroadcastReceiver searchDevices = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
BluetoothDevice device = null;
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String msg = device.getName()+"\n"+device.getAddress();
Log.i("hella",msg);
bluetooth.cancelDiscovery();
connectDevice(device);
}
}
};`
나는 갤럭시 S3 휴대 전화에서 내 블루투스 LE 장치를 성공적으로 스캔 한 것으로 나타났습니다. 그렇지 않으면 com.samsung.bluetoothle
패키지가 있다는 것을 발견했습니다. 같은 방식으로, 나는 그것을 내 android.jar
에 추가했습니다. 하지만 그 패키지에있는 방법을 사용하여 LE 장치에 연결할 수 없습니다.
나는 오랫동안 우리를 괴롭 히고있는이 문제를 해결하기 위해 친절하게 도움을 요청합니다. 개발을 용이하게하기 위해 웹 사이트에 android.jar
을 기고합니다. startLeDiscovery()
방법 및 기타 방법은 android.bluetooth
디렉토리에 표시됩니다. 물론, android
디렉토리에 com.samsung.bluetoothle
패키지도 있습니다.
android.jar
패키지 here (Mirror)을 다운로드 할 수 있습니다.