zoukankan      html  css  js  c++  java
  • Android练习(二)

    添加简单开屏

      添加单纯背景开屏,代码如下:

      采用了百度ssp的sdk;

    import android.app.Activity;
    import android.content.Intent;
    import android.content.res.Configuration;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.RelativeLayout;
    import com.baidu.mobads.SplashAd;
    import com.baidu.mobads.SplashAdListener;
    
    
    /**
     * 实时开屏,广告实时请求并且立即展现
     */
    public class SplashAdActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.splash);
    
            // adUnitContainer
            RelativeLayout adsParent = (RelativeLayout) this.findViewById(R.id.adsRl);
    
            // the observer of AD
            SplashAdListener listener = new SplashAdListener() {
                @Override
                public void onAdDismissed() {
                    Log.i("RSplashActivity", "onAdDismissed");
                    jumpWhenCanClick(); // 跳转至您的应用主界面
                }
    
                @Override
                public void onAdFailed(String arg0) {
                    Log.i("RSplashActivity", "onAdFailed");
                    jump();
                }
    
                @Override
                public void onAdPresent() {
                    Log.i("RSplashActivity", "onAdPresent");
                }
    
                @Override
                public void onAdClick() {
                    Log.i("RSplashActivity", "onAdClick");
                    // 设置开屏可接受点击时,该回调可用
                }
            };
            String adPlaceId = "000000"; // 重要:请填上您的广告位ID,代码位错误会导致无法请求到广告
            new SplashAd(this, adsParent, listener, adPlaceId, true);
        }
    
        /**
         * 当设置开屏可点击时,需要等待跳转页面关闭后,再切换至您的主窗口。故此时需要增加canJumpImmediately判断。 另外,点击开屏还需要在onResume中调用jumpWhenCanClick接口。
         */
        public boolean canJumpImmediately = false;
    
        private void jumpWhenCanClick() {
            Log.d("test", "this.hasWindowFocus():" + this.hasWindowFocus());
            if (canJumpImmediately) {
                this.startActivity(new Intent(SplashAdActivity.this, MainActivity.class));
                this.finish();
            } else {
                canJumpImmediately = true;
            }
    
        }
    
        @Override
        protected void onPause() {
            super.onPause();
            canJumpImmediately = false;
        }
    
        /**
         * 不可点击的开屏,使用该jump方法,而不是用jumpWhenCanClick
         */
        private void jump() {
            this.startActivity(new Intent(SplashAdActivity.this, MainActivity.class));
            this.finish();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            if (canJumpImmediately) {
                jumpWhenCanClick();
            }
            canJumpImmediately = true;
        }
    
    }

      新建布局文件,启动Activity改为新建的那个。

    本性的苏醒,往往在遭遇真实之后。
  • 相关阅读:
    Struts2.1.8 + Spring3.0+ Hibernate3.2整合笔记
    SSH整合之_架构的历史序列图
    Spring整合Hibernate笔记
    Oracle日志文件的管理与查看
    java调用Oracle存储存储过程
    Oracle PLSQL笔记(过程的创建和及调用)
    使用 Spring 2.5 TestContext 测试DAO层
    SpringBoot 启动慢的解决办法
    C++ CEF 浏览器中显示 Tooltip(标签中的 title 属性)
    Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤
  • 原文地址:https://www.cnblogs.com/chance88/p/5391678.html
Copyright © 2011-2022 走看看