如何在 8 秒内完成 Ads_Fullscreen Activity 并在病房后午餐 MainActivity?

Posted

技术标签:

【中文标题】如何在 8 秒内完成 Ads_Fullscreen Activity 并在病房后午餐 MainActivity?【英文标题】:How to finish the Ads_Fullscreen Activity in 8 seconds and lunch the MainActivity after wards? 【发布时间】:2019-08-10 23:50:39 【问题描述】:

闪屏的两种情况

    如果启用了广告,则启动画面时间将为 2 秒,Ads_Fullscreen 时间将为 8 秒,然后将出现最终的 Main Activity。

    如果未启用广告,则启动画面时间将为 5 秒,然后主活动将到来。

这是启动画面的代码

 new Handler().postDelayed(new Runnable() 
      @Override
      public void run() 
          Intent i;
          if (prefManager.isFirstTimeLaunch())
              i = new Intent(SplashScreen.this,WelcomeActivity.class);
              prefManager.setFirstTimeLaunch(false);
          else if(bn_bstatus.equals("enable")) 
              i = new Intent(SplashScreen.this,Ads_Fullscreen.class);

          else
              i = new Intent(SplashScreen.this,MainActivity.class);
          
          startActivity(i);
          finish();
      
  ,SPLASH_TIME_OUT);

【问题讨论】:

【参考方案1】:

将默认 SPLASH_TIME_OUT 设置为 5000 毫秒。

public final int SPLASH_TIME_OUT = 5000;

对于 SplashScreen 活动

final Intent intent;
if (ads.enable()) 
    intent = new Intent(SplashScreen.this, WelcomeActivity.class);
    prefManager.setFirstTimeLaunch(false);
 else if (bn_bstatus.equals("enable")) 
    intent = new Intent(SplashScreen.this, Ads_Fullscreen.class);
    SPLASH_TIME_OUT = 2000;
 else 
    intent = new Intent(SplashScreen.this, MainActivity.class);

new Handler().postDelayed(new Runnable() 
    @Override
    public void run() 
        startActivity(intent);
        finish();
    
, SPLASH_TIME_OUT);

对于广告_全屏活动

SPLASH_TIME_OUT = 8000;
new Handler().postDelayed(new Runnable() 
        @Override
        public void run() 
            // start MainActivity
        
    , SPLASH_TIME_OUT);

【讨论】:

感谢@Dhruv,你是最棒的,而且答案很有魅力!

以上是关于如何在 8 秒内完成 Ads_Fullscreen Activity 并在病房后午餐 MainActivity?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不到 1.00 秒内从 Zapier python 发送帖子?

GIT push 命令啥都不做 - 命令在 1 秒内完成

Python 多处理:所有进程在 5 秒内完成,但程序需要额外 10 秒才能返回读取主脚本

iOS 8 和 9 iPad 使用 UIActivityViewController 通过 Twitter 共享对话框在 60 秒内以 viewServiceDidTerminateWithError

大量内存溢出导致堆大小在大约 8 秒内从大约 64mb 变为 1.5gb。垃圾收集器的问题?

执行相同的过程N次,如果在X秒内没有完成,则终止它