当应用程序进入后台时如何停止运行?

2024-04-06

我正在尝试建立一个可运行的程序,它可以每 5 秒间隔加载一次广告(当然 5 秒太快了,这只是为了测试目的)

这是我的代码:

package com.admobsdk_dfp_handler;

import com.google.ads.*;
import com.google.ads.doubleclick.*;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.view.Menu;
import android.widget.RelativeLayout;

public class AdMobSDK_DFP_Handler extends Activity {
    private DfpAdView adView;
    private Handler handler = new Handler();
    private Runnable runnable = new Runnable() {

        public void run() {
        adView.loadAd(new AdRequest());
        handler.postDelayed(this, 5000);
    }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ad_mob_sdk__dfp__handler);

        adView = new DfpAdView(
                this,
                AdSize.BANNER,
                AD_UNIT_ID);

        RelativeLayout layout = (RelativeLayout) findViewById(R.id.mainLayout);

        layout.addView(adView);

        adView.loadAd(new AdRequest());

        handler.postDelayed(runnable, 5000);


    };

    @Override
    protected void onDestroy() {
        handler.removeCallbacks(runnable);
        super.onDestroy();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_ad_mob_sdk__dfp__handler,
                menu);
        return true;
    }

}

如果我按主页按钮将应用程序隐藏到后台,则可运行程序会以 5 秒的间隔不断加载广告。

当应用程序隐藏到后台时,有什么方法可以停止运行吗?非常感谢。


只需使用onPause()

当活动进入后台但尚未被终止时,作为活动生命周期的一部分调用

@Override
protected void onPause() {
     handler.removeCallbacks(runnable);
     super.onPause();
}

Optional

如果您想恢复该可运行状态。只需覆盖onResume()打回来

@Override
protected void onResume()
{
      handler.postDelayed(runnable, 5000);
      super.onResume();
}

也删除handler.postDelayed(runnable, 5000); in onCreate()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序进入后台时如何停止运行? 的相关文章

  • onBeaconServiceConnect 未调用

    和以前一样 我使用 Android Beacon 库 它已经工作了 我可以通过 BLE 低功耗蓝牙找到信标 但是现在 更新到最新版本的库后 现在方法onBeaconServiceConnect 不再跑了 请告诉我我需要做什么才能让它发挥作用
  • 如何强制 Eclipse 将 xml 布局和样式显示为文本?

    我最近升级到带有 ADT 20 0 3 的 Eclipse 4 2 Juno 如果我查看旧项目中的布局或样式 Eclipse 只会向我显示其适当的基于控件的编辑器 我想编辑语法突出显示的 xml 文本 我没有找到将插件的编辑器切换到此模式的
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • Android 上的 SVG 支持

    Android 支持 SVG 吗 有什么例子吗 最完整的答案是这样的 Android 2 x 默认浏览器本身不支持 SVG Android 3 默认浏览器支持 SVG 要将 SVG 支持添加到 2 x 版本的平台 您有两个基本选择 安装功能
  • 从 React Native Js 代码调用 Android Native UI 组件方法

    我创建了一个 CustomView SignatureView java 它扩展了 LinearLayout 以捕获 Android Native 中的签名 并创建了SignatureCapturePackage java和Signatur
  • 如何在android中设置权限WRITE_SECURE_SETTINGS? [复制]

    这个问题在这里已经有答案了 我正在尝试启用 4 0 以上的辅助功能服务设置 但它显示异常 即 引起原因 java lang SecurityException 权限拒绝 写入安全设置需要 android permission WRITE S
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • 如何在手机缓存中保存用户名和密码

    我有一个用户登录应用程序 它需要用户的电子邮件和密码 我想将电子邮件和密码保存在手机缓存中 以便用户不必再次输入 有什么办法可以将数据保存在Android缓存中吗 我认为你需要使用SharedPreference用于在设备中使用应用程序时保
  • Android 服务是否有办法检测设备何时锁定?

    我有一个 Android 服务 我希望在设备锁定时执行操作 我想澄清一下 我对屏幕开 关状态不感兴趣 我知道如何使用带有 Intent ACTION USER PRESENT 和 KeyguardManager inKeyguardRest
  • 放置在 NavigationDrawer 顶部的片段

    我正在尝试添加一个PreferenceFragment在我的应用程序中 问题是 它自动放置在我的顶部NavigationDrawer public class SetPreferenceActivity extends Activity O
  • 如何在TableLayout中创建三列

    我正在开发一个使用的屏幕TableLayout 在这里我可以轻松创建两列 但我怎样才能创建三列呢 这里有一个例子
  • 菜单在片段的 onCreateOptionsMenu 处多次膨胀调用

    我使用 Fragments 当我切换到嵌套 Fragment 时 它实现了public void onCreateOptionsMenu Menu menu MenuInflater inflater 当我到达该嵌套片段时 我的菜单会多次膨
  • Android FragmentTransaction 自定义动画(未知动画师名称:Translate)

    我正在尝试让自定义动画与我的片段一起使用 我已按照在线教程进行操作 但出现以下错误 java lang RuntimeException 未知的动画师名称 翻译 动画的 XML 如下
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • react-native run-android 失败并出现错误:任务 ':app:dexDebug' 执行失败

    我使用的是 Windows 8 1 和react native cli 1 0 0 and react native 0 31 0 添加后react native maps对于该项目 我运行了命令react native upgrade并给
  • 如何在 Viewpager 中禁用预加载下一页? [复制]

    这个问题在这里已经有答案了 如何在 Viewpager 中禁用页面预加载 I tried viewPager setOffscreenPageLimit 0 但它不起作用 用这个viewPager setOffscreenPageLimit
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • 使用单选按钮更改背景颜色 Android

    我试图通过从单选组中选择单选按钮来更改应用程序选项卡的背景 但是我不确定如何执行此操作 到目前为止我已经 收藏夹 java import android app Activity import android os Bundle publi

随机推荐

  • 在编写控制台应用程序时,有没有办法创建第二个控制台以在 .NET 中输出?

    在编写控制台应用程序时 有没有办法创建第二个控制台以在 NET 中输出 好吧 您可以启动一个新的 cmd exe 进程并使用 stdio 和 stdout 发送和接收数据 ProcessStartInfo psi new ProcessSt
  • 请在合并之前提交您的更改或隐藏它们

    我想升级 但我需要提交 但是当我执行 git commit 时 我得到 您的分支比 起源 开发 落后 20 次提交 并且可以快进 使用 git pull 更新本地分支 我不想丢失本地更改 从项目目录使用这些终端命令 使用以下方式隐藏您的本地
  • 将命令的 stderr 从构建任务传递到 Azure DevOps

    我有一个 VSTS Azure DevOps 版本 其中包含电源外壳 or a 命令行任务 该任务正在运行一些程序 program exe When program exe返回非零退出代码 构建按预期失败 program exe还打印详细的
  • NSString unicode编码问题

    我在将字符串转换为可读的内容时遇到问题 我在用着 NSString substring NSString stringWithUTF8String symbol data cStringUsingEncoding NSUTF8StringE
  • 我可以在 iPhone 的网络浏览器上运行嵌入网页的 Java Applet 吗?

    我可以在 iPhone 上运行嵌入 或 HTML 标记中的 Java 小程序吗 我的意思不是作为一个应用程序 而是实际上通过它的浏览器 不 正如史蒂夫 乔布斯在 2007 年接受采访时回答的那样 Java 不值得构建 没有人再使用 Java
  • 这个属性的作用是什么:MethodImplOptions.NoInlined(或者:什么是“内联”方法)[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的内联函数 https stackoverflow com questions 473782 inline functions in c 什么是方法内联 https stackoverflow
  • Spark时间戳差异

    我正在尝试在 Spark 中进行时间戳差异 但它没有按预期工作 下面是我正在尝试的方法 import org apache spark sql functions df df withColumn TimeStampDiff from un
  • Bootstrap 4 .nav-link 填充

    我想删除第一个的左侧填充 nav link in navbar nav 这是一个example https i stack imgur com m3XK7 png 在 bootstrap 4 中 我创建了一个导航并给了填充 nav link
  • 比较两个托管引用

    是否可以比较两个托管引用 类型为ref T 如果它们相等 我的意思不是对对象的引用 而是对变量的引用 例子 public static bool Compare ref int a ref int b return ref a ref b
  • 使用 YAML 转储 unicode

    我正在从 csv 创建 yaml 文件 其中包含很多 unicode 字符 但我似乎无法让它转储 unicode 而不会给我一个解码错误 我正在使用ruamel yaml图书馆 UnicodeDecodeError ascii codec
  • 删除功能不起作用

    我正在开发一个应用程序 它有一个启动屏幕 可以下载几个文件 在文件开始下载之前 我想检查文件是否已经存在 如果存在 我想删除它们 下面显示的代码包含正确的文件路径 并且检查文件是否存在的函数似乎与 Logcat 中读出的状态 文件已删除 一
  • gulp.dest 未创建目标文件夹

    我的 gulp 代码部分如下所示 gulp src application base js application base assets js base pipe gulpPlumber errorHandler function err
  • watchOS 3 SpriteKit 中的触摸事件?

    在watchOS 3中使用SpriteKit时 如何处理触摸事件 我正在从 iOS 移植 SpriteKit 游戏 下面的代码不起作用 或者你必须以某种方式控制 WKInterfaceController override func tou
  • Apache 上 Django 应用程序的 POST/GET 请求日志

    Django 开发服务器非常好 它实时显示所有 POST GET 请求以及其他事件的日志 来自 Django 开发服务器的日志示例 04 Jul 2012 19 23 27 GET static images sprites submit
  • 根据所选单选按钮显示控件

    我有一组三个单选按钮 根据选择的单选按钮 我想显示三个控件之一 文本框 下拉列表或按钮 如何根据所选单选按钮的结果显示控件 您可以使用以下方法将控件的可见性绑定到 RadioButton 的 IsChecked 属性 BooleanToVi
  • 如何在 Android 中暂停和恢复录音

    我正在使用 MediaRecorder 类开发音频录制应用程序 我有以下要求 1 按下暂停按钮则暂停录音 2 按下恢复按钮后 从暂停处恢复录制 我试试这个link https stackoverflow com questions 5743
  • 使累计总和更快

    我正在尝试计算矩阵每一列的累积和 这是我的 R 代码 testMatrix matrix 1 65536 ncol 256 microbenchmark apply testMatrix 2 cumsum times 100L Unit m
  • C++ for every in 自定义集合

    所以自从它推出以来我就一直很喜欢for each在要迭代的关键字中STL collections 我是语法糖的超级粉丝 我的问题是如何编写可以使用这些关键字迭代的自定义集合 本质上 我需要公开什么 APi 才能使用这些关键字来迭代我的集合
  • 设置分层绘图的大小?

    我正在为我的应用程序制作一个图标 该应用程序基本上是一个朋友查找器 我正在创建一个看起来很像谷歌纬度图标的叠加层 我有一个因用户而变化的图像 并且我有边框 我已经能够很好地进行分层绘制和叠加 但问题是 图像拉伸到边框的大小 这是一个问题 因
  • 当应用程序进入后台时如何停止运行?

    我正在尝试建立一个可运行的程序 它可以每 5 秒间隔加载一次广告 当然 5 秒太快了 这只是为了测试目的 这是我的代码 package com admobsdk dfp handler import com google ads impor