@@ -51,15 +51,6 @@ public class ToastStrategy implements IToastStrategy {
5151 /** Handler 对象 */
5252 private static final Handler HANDLER = new Handler (Looper .getMainLooper ());
5353
54- /**
55- * 默认延迟时间
56- *
57- * 延迟一段时间之后再执行,因为在没有通知栏权限的情况下,Toast 只能显示在当前 Activity 上面
58- * 如果当前 Activity 在 showToast 之后立马进行 finish 了,那么这个时候 Toast 可能会显示不出来
59- * 因为 Toast 会显示在销毁 Activity 界面上,而不会显示在新跳转的 Activity 上面
60- */
61- private static final int DEFAULT_DELAY_TIMEOUT = 200 ;
62-
6354 /** 应用上下文 */
6455 private Application mApplication ;
6556
@@ -140,13 +131,13 @@ public void showToast(ToastParams params) {
140131 case SHOW_STRATEGY_TYPE_IMMEDIATELY : {
141132 // 移除之前未显示的 Toast 消息
142133 cancelToast ();
143- long uptimeMillis = SystemClock .uptimeMillis () + params .delayMillis + (params .crossPageShow ? 0 : DEFAULT_DELAY_TIMEOUT );
134+ long uptimeMillis = SystemClock .uptimeMillis () + params .delayMillis + (params .crossPageShow ? 0 : getDefaultDelayTime () );
144135 HANDLER .postAtTime (new ShowToastRunnable (params ), mShowMessageToken , uptimeMillis );
145136 break ;
146137 }
147138 case SHOW_STRATEGY_TYPE_QUEUE : {
148139 // 计算出这个 Toast 显示时间
149- long showToastMillis = SystemClock .uptimeMillis () + params .delayMillis + (params .crossPageShow ? 0 : DEFAULT_DELAY_TIMEOUT );
140+ long showToastMillis = SystemClock .uptimeMillis () + params .delayMillis + (params .crossPageShow ? 0 : getDefaultDelayTime () );
150141 // 根据吐司的长短计算出等待时间
151142 long waitMillis = generateToastWaitMillis (params );
152143 // 如果当前显示的时间在上一个 Toast 的显示范围之内
@@ -201,6 +192,16 @@ protected int generateToastWaitMillis(ToastParams params) {
201192 return 0 ;
202193 }
203194
195+ /**
196+ * 获取默认延迟时间
197+ */
198+ protected int getDefaultDelayTime () {
199+ // 延迟一段时间之后再执行,因为在没有通知栏权限的情况下,Toast 只能显示在当前 Activity 上面
200+ // 如果当前 Activity 在 showToast 之后立马进行 finish 了,那么这个时候 Toast 可能会显示不出来
201+ // 因为 Toast 会显示在销毁 Activity 界面上,而不会显示在新跳转的 Activity 上面
202+ return 200 ;
203+ }
204+
204205 /**
205206 * 显示任务
206207 */
0 commit comments