* - 拨通不再往下拨号-(有一个通了,不再往下拨号)-stop
* - 拨通还往下拨号,此次组拨完结束为止(即使拨通了,把本组拨完)- continue
* - 拨通了往下拨号,直到轮询完(即使拨通了,也要按轮询次数拨完)- loop
- * - 拨号超时(每次拨号计时,不管是否拨通都是挂断)- persist.sys.sos.time(默认值为-1,按系统的拨号超时)
+ * - 拨号超时(每次拨号计时,不管是否拨通都是挂断)- persist.sys.sos.time(默认值为0,按系统的拨号超时)
*/
public class MainActivity extends AppCompatActivity {
initObserver();
}
+ @Override
+ protected void onResume() {
+ super.onResume();
+ //当UI重新可见的时候,检查是否需要进行下一个拨号
+ //TODO:
+ }
+
+ @Override
+ public void onBackPressed() {
+ //把返回键屏蔽掉
+ }
+
private void initObserver() {
sosPresenter.stateValue.observe(this, sosState -> {
//状态变化,改变UI
* 根据策略去拨号
*/
private void doSosCall() {
+ stateValue.postValue(SOSState.CALLING);
ICLogger.d("===========================================");
ICLogger.d("currentCallIndex ==> " + currentCallIndex);
ICLogger.d("phoneNumList.size() ==> " + phoneNumList.size());
String targetPhoneNum = phoneNumList.get(currentCallIndex);
callPhone(targetPhoneNum);
//开始准备超时
- if (callDuration != -1) {
+ if (callDuration != 0) {
//需要按时挂断
handler.removeCallbacks(endCallTask);
handler.postDelayed(endCallTask, callDuration * 1000);
private void initCallDuration() {
String callDurationStr = SystemUtils.getSystemProperties("persist.sys.sos.time");
if (TextUtils.isEmpty(callDurationStr)) {
- callDuration = -1;
+ callDuration = 0;
} else {
try {
callDuration = Integer.parseInt(callDurationStr);
} catch (Exception e) {
e.printStackTrace();
- callDuration = -1;
+ callDuration = 0;
}
}
}