Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abook_check
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abook_android
abook_check
Commits
512a5ef0
Commit
512a5ef0
authored
Jul 31, 2020
by
onuma
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
コールバックを実行するまえに、mHandlerからコールバックを全削除していたのを修正。
parent
9e941eb7
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
15 deletions
+21
-15
ABVJE_UI_Android/src/jp/agentec/abook/abv/cl/util/TR41BluetoothUtil.java
+19
-9
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/common/activity/ABVCheckContentViewActivity.java
+2
-6
No files found.
ABVJE_UI_Android/src/jp/agentec/abook/abv/cl/util/TR41BluetoothUtil.java
View file @
512a5ef0
...
@@ -116,12 +116,15 @@ public class TR41BluetoothUtil {
...
@@ -116,12 +116,15 @@ public class TR41BluetoothUtil {
/*
/*
* CALLBACK_TYPE_ALL_MATCHES
* CALLBACK_TYPE_ALL_MATCHES
* 検出されたすべてのBluetoothアドバタイズのコールバックをトリガーし、フィルター基準に一致します。
* 検出されたすべてのBluetoothアドバタイズのコールバックをトリガーし、フィルター基準に一致します。
* アクティブなフィルターがない場合、すべてのアドバタイズパケットが報告されます。
* アクティブなフィルターがない場合、すべてのアドバタイズパケットが報告されます。
* ... 500msに1回ほどスキャンしている
*
*
* MATCH_MODE_AGGRESSIVE
* MATCH_MODE_AGGRESSIVE
* アグレッシブモードでは、信号強度が弱く、継続時間中に目撃/一致がほとんどない場合でも、
* アグレッシブモードでは、信号強度が弱く、継続時間中に目撃/一致がほとんどない場合でも、
* ハードウェアは一致をより早く判断します。
* ハードウェアは一致をより早く判断します。
* ... ALL_MATCHESよりも高速にスキャンしている。(遠くの弱い信号も受信している。遠くの弱い信号は必要ない)
*/
*/
// 近くのTR41を検索するのであれば、ALL_MATCHESで問題ない。
mScanSettingBuiler
.
setMatchMode
(
CALLBACK_TYPE_ALL_MATCHES
);
mScanSettingBuiler
.
setMatchMode
(
CALLBACK_TYPE_ALL_MATCHES
);
/*
/*
...
@@ -138,10 +141,10 @@ public class TR41BluetoothUtil {
...
@@ -138,10 +141,10 @@ public class TR41BluetoothUtil {
mHandler
.
postDelayed
(
new
Runnable
()
{
mHandler
.
postDelayed
(
new
Runnable
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
// SCAN_PERIOD 秒後に呼ばれた時にスキャン中であれば端末を取得できなかったとみなす。
// SCAN_PERIOD 秒後に呼ばれた時にスキャン中であれば端末を
検索&
取得できなかったとみなす。
if
(
mIsScaning
)
{
if
(
mIsScaning
)
{
Sb_StopScan
();
mListener
.
onScanFailed
(-
390831
);
mListener
.
onScanFailed
(-
390831
);
Sb_StopScan
();
Logger
.
d
(
TAG
,
"scan in 20 sec"
);
Logger
.
d
(
TAG
,
"scan in 20 sec"
);
}
}
}
}
...
@@ -150,14 +153,20 @@ public class TR41BluetoothUtil {
...
@@ -150,14 +153,20 @@ public class TR41BluetoothUtil {
mIsScaning
=
true
;
mIsScaning
=
true
;
}
}
/**
* スキャンを止める。mHandlerから全てのコールバックを削除しているので、
*
*/
public
void
Sb_StopScan
()
public
void
Sb_StopScan
()
{
{
if
(
mIsScaning
)
{
try
{
try
{
mIsScaning
=
false
;
mIsScaning
=
false
;
mHandler
.
removeCallbacksAndMessages
(
null
);
mBluetoothLeScanner
.
stopScan
(
mScanCallback
);
mBluetoothLeScanner
.
stopScan
(
mScanCallback
);
}
catch
(
Exception
e
){
mHandler
.
removeCallbacksAndMessages
(
null
);
Logger
.
e
(
TAG
,
e
.
toString
());
}
catch
(
Exception
e
)
{
Logger
.
e
(
TAG
,
e
.
toString
());
}
}
}
}
}
...
@@ -175,7 +184,7 @@ public class TR41BluetoothUtil {
...
@@ -175,7 +184,7 @@ public class TR41BluetoothUtil {
@Override
@Override
public
void
onScanFailed
(
final
int
errorCode
)
{
public
void
onScanFailed
(
final
int
errorCode
)
{
Logger
.
d
(
TAG
,
"onScanFailed
"
);
Logger
.
d
(
TAG
,
"onScanFailed
errorCode = "
+
errorCode
);
runOnUiThread
(
new
Runnable
()
{
runOnUiThread
(
new
Runnable
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
...
@@ -186,6 +195,7 @@ public class TR41BluetoothUtil {
...
@@ -186,6 +195,7 @@ public class TR41BluetoothUtil {
@Override
@Override
public
void
onScanResult
(
int
callbackType
,
ScanResult
result
)
{
public
void
onScanResult
(
int
callbackType
,
ScanResult
result
)
{
Logger
.
d
(
TAG
,
"onScanResult callbackType = "
+
callbackType
);
if
(!
mIsScaning
){
if
(!
mIsScaning
){
Logger
.
d
(
TAG
,
"mIsScaning is false"
);
Logger
.
d
(
TAG
,
"mIsScaning is false"
);
return
;
return
;
...
@@ -211,13 +221,14 @@ public class TR41BluetoothUtil {
...
@@ -211,13 +221,14 @@ public class TR41BluetoothUtil {
// 検索範囲を調整したい場合は、rssiの閾値を調整する( getRssiは、電波強度を返す。dBm マイナスが小さいほど電波が強い)
// 検索範囲を調整したい場合は、rssiの閾値を調整する( getRssiは、電波強度を返す。dBm マイナスが小さいほど電波が強い)
//if(result.getRssi() < -50)
//if(result.getRssi() < -50)
// return ;
// return ;
Logger
.
d
(
TAG
,
"
get
Rssi = "
+
result
.
getRssi
());
Logger
.
d
(
TAG
,
"Rssi = "
+
result
.
getRssi
());
rtn
=
Sb_Parse_ScanRecord
(
scanRecord
,
serial
,
localName
,
security
,
ch1Data
,
ch2Data
,
batLevel
)
;
rtn
=
Sb_Parse_ScanRecord
(
scanRecord
,
serial
,
localName
,
security
,
ch1Data
,
ch2Data
,
batLevel
)
;
if
(
rtn
==
0
)
{
if
(
rtn
==
0
)
{
final
String
serialStr
=
String
.
format
(
"%X"
,
(
int
)(
serial
[
0
]));
final
String
serialStr
=
String
.
format
(
"%X"
,
(
int
)(
serial
[
0
]));
// 温度
final
String
ch1Str
;
final
String
ch1Str
;
if
(
ch1Data
[
0
]
==
0xEEEE
)
{
if
(
ch1Data
[
0
]
==
0xEEEE
)
{
//ch1Str = "----";
//ch1Str = "----";
...
@@ -232,7 +243,6 @@ public class TR41BluetoothUtil {
...
@@ -232,7 +243,6 @@ public class TR41BluetoothUtil {
runOnUiThread
(
new
Runnable
()
{
runOnUiThread
(
new
Runnable
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
// 値が取得できたので、コールバックで通知
mListener
.
onScanResult
(
serialStr
,
ch1Str
);
mListener
.
onScanResult
(
serialStr
,
ch1Str
);
}
}
});
});
...
...
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/common/activity/ABVCheckContentViewActivity.java
View file @
512a5ef0
...
@@ -244,7 +244,6 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
...
@@ -244,7 +244,6 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
errorAfterAbookCheckAip
(
String
.
format
(
getString
(
R
.
string
.
msg_bluetooth_connect_error
),
getString
(
R
.
string
.
radiation_thermometer
)));
errorAfterAbookCheckAip
(
String
.
format
(
getString
(
R
.
string
.
msg_bluetooth_connect_error
),
getString
(
R
.
string
.
radiation_thermometer
)));
}
}
}
}
// onuma
bleManagerDisconnect
(
true
);
bleManagerDisconnect
(
true
);
// ダイアログは消す
// ダイアログは消す
dismissWaitngDialog
();
dismissWaitngDialog
();
...
@@ -269,10 +268,8 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
...
@@ -269,10 +268,8 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
if
(
StringUtil
.
isNullOrEmpty
(
message
))
{
if
(
StringUtil
.
isNullOrEmpty
(
message
))
{
// 接続するデバイスが存在しないと見做し、接続を切る
// 接続するデバイスが存在しないと見做し、接続を切る
// onuma
bleManagerDisconnect
(
true
);
bleManagerDisconnect
(
true
);
}
else
{
}
else
{
// onuma
mIsConnection
=
true
;
mIsConnection
=
true
;
mWaitingDialog
.
setMessage
(
message
);
mWaitingDialog
.
setMessage
(
message
);
}
}
...
@@ -298,8 +295,7 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
...
@@ -298,8 +295,7 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
// 値取得待ちのダイアログ表示中のみ値を取得、設定する
// 値取得待ちのダイアログ表示中のみ値を取得、設定する
if
(
mWaitingDialog
!=
null
)
{
if
(
mWaitingDialog
!=
null
)
{
setThermometerData
(
strTemp
);
setThermometerData
(
strTemp
);
// 取得できたら、ダイアログ消すだけ。
// 取得できたら、ダイアログ消すだけ。切断しない
// onuma 切断しない
bleManagerDisconnect
(
false
);
bleManagerDisconnect
(
false
);
dismissWaitngDialog
();
dismissWaitngDialog
();
}
}
...
@@ -324,7 +320,6 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
...
@@ -324,7 +320,6 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
errorAfterAbookCheckAip
(
errorMessage
);
errorAfterAbookCheckAip
(
errorMessage
);
}
}
// bluetooth通信を切断
// bluetooth通信を切断
//onuma
bleManagerDisconnect
(
true
);
bleManagerDisconnect
(
true
);
// ダイアログを閉じる
// ダイアログを閉じる
...
@@ -375,6 +370,7 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
...
@@ -375,6 +370,7 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
Logger
.
d
(
TAG
,
"onScanResult mTR41SerialNo [%s]"
,
mTR41SerialNo
);
Logger
.
d
(
TAG
,
"onScanResult mTR41SerialNo [%s]"
,
mTR41SerialNo
);
Logger
.
d
(
TAG
,
"-------------------------------------------------"
);
Logger
.
d
(
TAG
,
"-------------------------------------------------"
);
if
(!
serialNo
.
equals
(
mTR41SerialNo
)){
if
(!
serialNo
.
equals
(
mTR41SerialNo
)){
// 検索対象のシリアル番号と違う
return
;
return
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment