Windows 8应用程序前后台如何切换事件监听

在一些情况下,我们需要监听应用程序切换到后台或者从后台切换至前台的事件,从而进行相关处理操作。支付宝应用锁屏(IOS,Android平台)的处理中就需要监听此事件,在用户将应用切换至后台一段时间后再切换至前台的情况下就需要弹出锁屏页面。

下图给出Windows 应用商店应用的生命周期图,应用前后台切换就是在运行和挂起直接进行切换,关于生命周期的详细介绍可以参阅官方文档:http://msdn.microsoft.com/zh-cn/library/windows/apps/hh464925.aspx#app_visibility。

程序进入挂起状态,会触发App.Suspending事件,但程序再次切到前台时会触发App.Resuming事件,下面就列出应用程序进入挂起状态并触发App.Suspending事件的几种情况进行说明。

1.应用程序在前台情况下,通过左侧拖动打开其他应用程序,则会在大约10秒后应用程序进入挂起状态。

2.按Home键将应用切入后台,中间不打开其他应用的情况下再次按Home键将应用切到前台,应用程序不会进入挂起状态。

3.按Home键将应用切入后台,让后再打开一个其他应用程序,则在打开其他应用程序10秒后应用程序进入挂起状态。

4.应用程序在前台情况下,按电源键或者系统自动进入锁屏状态10秒后应用程序进入挂起状态。

5.需要注意的是在Debugger情况下是无法判断应用程序的生命周期,固无论在何种情况下应用程序都不会进入挂起状态。

对于运行在Visual Studio Debugger上的应用,系统会无法判断应用状态,导致suspend、resume、activate等事件不被正确触发,所以Visual Studio提供了一个Debug Location工具栏来给开发者手动触发Suspend、resume等事件。打开Debug location的方法是点击Visual Studio上方View菜单,Toobars -> Debug Location,这样就可以在工具栏中看到具体选项。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/home/

时间: 2024-12-10 09:34:05

Windows 8应用程序前后台如何切换事件监听的相关文章

php实现事件监听与触发实例程序

闲来无事,想了想PHP如何实现事件监听,参考了jQuery的事件绑定思路,简单的实现了一下. 主要功能: 1.绑定事件 支持一个事件绑定多个动作,支持绑定一次性事件 2.触发事件 3.注销事件  代码如下 复制代码 class Event {     protected static $listens       = array();           public static function listen($event, $callback, $once=false){        

.NET陷阱 四 事件监听带来的问题与弱监听器

大家可能都遇到过没有取消事件监听而带来的一些问题,像内存泄露.访问无效数据等.当我们写下如下代码时: source.StateChanged += observer.SourceStateChangedHandler 实际上source会保持有对observer的一个引用,所以如果source的生命期长于observer的话,则当其它地方不引用observer时,如果不显示解除监听,则observer不会被垃圾回收.这可能会带来两个问题:其一,如果observer占用了大量内存的话,则这部分内存

java Gui编程 事件监听机制

1.     GUI编程引言     以前的学习当中,我们都使用的是命令交互方式:        例如:在DOS命令行中通过javac java命令启动程序.     软件的交互的方式:      1. 命令交互方式           图书管理系统     2. 图形交互方式     ava提供了专业的API用于开发图形用户界面     GUI--> Graphic  User   Interface      将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理

NodeJs——(1)封装,调用,执行,访问路径,http,函数编程,等待函数,事件监听

(1)如何封装一个模块: 首先,我们建立一个js文件,例如命名为test.js: 然后在里面写一个函数,函数名任意: 然后通过exports.变量名,将函数赋值给这个变量: 如代码: function test(){    //请注意这个函数名     console.log("1"); }exports.testBegin= test;   //等号后面的test,指的是上面的函数名.等号前面的testBegin,是调用时的函数名(注意区别)   这个test.js的文件就写完了,这

android-Android 写事件监听 真机调试出现闪退(我是新手,刚学Android,求大神指教)

问题描述 Android 写事件监听 真机调试出现闪退(我是新手,刚学Android,求大神指教) 这是我的程序: ImageView imageView = (ImageView) findViewById(R.id.login_image); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 这是错误日志: 03-08 18:10:43

android开发-一个简单的单击事件监听代码哪里错了?

问题描述 一个简单的单击事件监听代码哪里错了? MainActivity.java package com.example.a007;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClic

移动-jQuery 滚动条事件监听

问题描述 jQuery 滚动条事件监听 $(window).scroll(function() { var a = $(this).scrollTop() ;//现在滚动条距离顶端的距离 if (a >= c[c.length - 1]) {//c数组里面每个元素是该元素距离顶端的距离 $(""#oc"").html(cc[c.length - 1]);//oc是一个浮动条 具体参考移动端 12306城市往返选择上面的每一组城市的拼音A.B.C.D.... /

jQuery-mobile事件监听与用法详解_jquery

本文实例讲述了jQuery-mobile事件监听与用法.分享给大家供大家参考,具体如下: 触摸事件 - 当用户触摸屏幕时触发(敲击和滑动) 滚动事件 - 当上下滚动时触发 方向事件 - 当设备垂直或水平旋转时触发 页面事件 - 当页面被显示.隐藏.创建.加载以及/或卸载时触发 一.初始化事件 1. ready 事件 页面加载完成 $(document).ready(function(){ //your code here... }); 2. 页面加载完成事件二 pageinit $(docume

马士兵 J2SE 第11章 GUI编程 事件模型ACTIONEVENT TEXTFIELD事件监听 内部类 PAINT adapter和repaint window事件 键盘事件

BUTTON事件监听 package com.zzk.cn; import java.awt.*; import java.awt.event.*; public class TestActionEvent { public static void main(String[] args) { Frame f=new Frame("Test"); Button b=new Button("Press Me!"); Monitor bh=new Monitor(); b