Commit 2618a401 by Lee Jaebin

bluetooth検証用

parent 7c921c9c
...@@ -1417,4 +1417,5 @@ ...@@ -1417,4 +1417,5 @@
<string name="msg_location_device_no_allow">端末の設定から位置情報をONにしてください。</string> <string name="msg_location_device_no_allow">端末の設定から位置情報をONにしてください。</string>
<string name="bluetooth_is_not_supported">Bluetooth機能が利用できない端末です。</string> <string name="bluetooth_is_not_supported">Bluetooth機能が利用できない端末です。</string>
<string name="barcode">コードリーダー</string> <string name="barcode">コードリーダー</string>
<string name="msg_ble_connect_timeout_error">中心温度計との接続が切れました。中心温度計の電源や距離を確認し、再度お試し下さい。(%s)</string>
</resources> </resources>
...@@ -1425,4 +1425,5 @@ ...@@ -1425,4 +1425,5 @@
<string name="msg_location_device_no_allow">단말기의 설정에서 위치정보를 ON으로 설정해 주세요.</string> <string name="msg_location_device_no_allow">단말기의 설정에서 위치정보를 ON으로 설정해 주세요.</string>
<string name="bluetooth_is_not_supported">블루투스는 지원되지 않습니다.</string> <string name="bluetooth_is_not_supported">블루투스는 지원되지 않습니다.</string>
<string name="barcode">코드 리더</string> <string name="barcode">코드 리더</string>
<string name="msg_ble_connect_timeout_error">중심 온도계와의 연결이 끊겼습니다. 중심 온도계의 전원과 거리를 확인하고 다시 시도해주세요.(%s)</string>
</resources> </resources>
\ No newline at end of file
...@@ -1423,5 +1423,6 @@ ...@@ -1423,5 +1423,6 @@
<string name="msg_location_device_no_allow">Please set the location information to ON in the device setting.</string> <string name="msg_location_device_no_allow">Please set the location information to ON in the device setting.</string>
<string name="bluetooth_is_not_supported">Bluetooth is not supported.</string> <string name="bluetooth_is_not_supported">Bluetooth is not supported.</string>
<string name="barcode">Code Reader</string> <string name="barcode">Code Reader</string>
<string name="msg_ble_connect_timeout_error">The connection with the central thermometer has been lost. Check the power and distance of the central thermometer and try again.(%s)</string>
</resources> </resources>
\ No newline at end of file
...@@ -61,26 +61,19 @@ public class BleManagerUtil { ...@@ -61,26 +61,19 @@ public class BleManagerUtil {
private final BluetoothGattCallback mGattcallback = new BluetoothGattCallback() { private final BluetoothGattCallback mGattcallback = new BluetoothGattCallback() {
// 接続状態変更(connectGatt()の結果として呼ばれる。) // 接続状態変更(connectGatt()の結果として呼ばれる。)
@Override @Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState ) { public void onConnectionStateChange(BluetoothGatt gatt, final int status, final int newState ) {
super.onConnectionStateChange(gatt, status, newState); super.onConnectionStateChange(gatt, status, newState);
// if( BluetoothGatt.GATT_SUCCESS != status ) {
// runOnUiThread( new Runnable() { Logger.d("onConnectionStateChange status = " + status + " newState = " + newState);
// public void run() {
// mListener.onGetDeviceInfoFailed(); // デバイスと接続されていない場合のメッセージコード:133, 62
// } // デバイスと離れて応答がなく、タイムアウトになる場合:8
// }); // デバイスと接続が切れた場合のメッセージコード:19
// return; if (status == 133 || status == 62 || status == 8) { // 接続失敗
// }
final int fStatus = status;
Logger.d("onConnectionStateChange status = " + fStatus);
// ディバイスと接続されていない場合のメッセージコード:133, 62
// ディバイスと接続が切れた場合のメッセージコード:19
if (status == 133 || status == 62) { // 接続失敗
runOnUiThread( new Runnable() { runOnUiThread( new Runnable() {
@Override @Override
public void run() { public void run() {
mListener.onConnectionError(fStatus); mListener.onConnectionError(status);
} }
}); });
return; return;
...@@ -96,13 +89,13 @@ public class BleManagerUtil { ...@@ -96,13 +89,13 @@ public class BleManagerUtil {
runOnUiThread( new Runnable() { // 接続失敗 runOnUiThread( new Runnable() { // 接続失敗
@Override @Override
public void run() { public void run() {
mListener.onGetDeviceInfoFailed(fStatus); mListener.onGetDeviceInfoFailed(status);
Logger.e("onConnectionStateChange2 status = " + fStatus); Logger.e("onConnectionStateChange2 status = " + status);
} }
}); });
} }
} }
}, 600); }, 600);
return; return;
} }
...@@ -128,6 +121,7 @@ public class BleManagerUtil { ...@@ -128,6 +121,7 @@ public class BleManagerUtil {
mListener.onGetDeviceInfoFailed(-1); mListener.onGetDeviceInfoFailed(-1);
return; return;
} }
mBluetoothGatt.requestConnectionPriority(BluetoothGatt.CONNECTION_PRIORITY_HIGH);
// 発見されたサービスのループ // 発見されたサービスのループ
for(BluetoothGattService service : gatt.getServices()) { for(BluetoothGattService service : gatt.getServices()) {
...@@ -166,17 +160,17 @@ public class BleManagerUtil { ...@@ -166,17 +160,17 @@ public class BleManagerUtil {
if( BluetoothGatt.GATT_SUCCESS != status ) { if( BluetoothGatt.GATT_SUCCESS != status ) {
return; return;
} }
if( UUID_CHARACTERISTIC_PRIVATE1.equals( characteristic.getUuid() ) ) { if( UUID_CHARACTERISTIC_PRIVATE1.equals( characteristic.getUuid())) {
final String strTemperature = byteToString(characteristic.getValue()); // final String strTemperature = byteToString(characteristic.getValue());
runOnUiThread( new Runnable() { // runOnUiThread( new Runnable() {
@Override // @Override
public void run() { // public void run() {
// 芯温計の温度を渡す。 // // 芯温計の温度を渡す。
// 端末と接続時に呼ばれるのでコメント処理 // // 端末と接続時に呼ばれるのでコメント処理
// mListener.onGetDeviceInfo(strTemperature); //// mListener.onGetDeviceInfo(strTemperature);
} // }
}); // });
// 通知設定 // 通知設定
setCharacteristicNotification(UUID_SERVICE_PRIVATE, UUID_NOTIFY, true); setCharacteristicNotification(UUID_SERVICE_PRIVATE, UUID_NOTIFY, true);
......
...@@ -171,7 +171,12 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity { ...@@ -171,7 +171,12 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
@Override @Override
public void onConnectionError(int status) { //中心温度計接続エラー public void onConnectionError(int status) { //中心温度計接続エラー
Logger.e(TAG, "onConnectionError"); Logger.e(TAG, "onConnectionError");
errorAfterAbookCheckAip(String.format(getString(R.string.msg_ble_connect_error), String.valueOf(status))); if (status == 8) {
// タイムアウトのステータス
errorAfterAbookCheckAip(String.format(getString(R.string.msg_ble_connect_timeout_error), String.valueOf(status)));
} else {
errorAfterAbookCheckAip(String.format(getString(R.string.msg_ble_connect_error), String.valueOf(status)));
}
bleThermometerDisconnect(); bleThermometerDisconnect();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment