android实现程序的后台运行

</pre><pre name="code" class="java">	/**
	 * 改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁
	 */
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		PackageManager pm = getPackageManager();
		ResolveInfo homeInfo = pm.resolveActivity(
				new Intent(Intent.ACTION_MAIN)
						.addCategory(Intent.CATEGORY_HOME), 0);
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			ActivityInfo ai = homeInfo.activityInfo;
			Intent startIntent = new Intent(Intent.ACTION_MAIN);
			startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
			startIntent
					.setComponent(new ComponentName(ai.packageName, ai.name));
			startActivitySafely(startIntent);
			return true;
		} else
			return super.onKeyDown(keyCode, event);
	}

	private void startActivitySafely(Intent intent) {
		intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		try {
			startActivity(intent);
		} catch (ActivityNotFoundException e) {
			Toast.makeText(this, "null", Toast.LENGTH_SHORT).show();
		} catch (SecurityException e) {
			Toast.makeText(this, "null", Toast.LENGTH_SHORT).show();
		}
	}

时间: 2024-10-06 16:20:32

android实现程序的后台运行的相关文章

使用WakeLock使Android应用程序保持后台唤醒

使用WakeLock使Android应用程序保持后台唤醒 - Ryan's zone - 博客频道 - CSDN.NET 在使用一些产品列如微信.QQ之类的,如果有新消息来时,手机屏幕即使在锁屏状态下也会亮起并提示声音,这时用户就知道有新消息来临了.但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态.针对前面的例子,收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如

Linux之nohup命令:实现退出终端后程序继续后台运行

转自:http://tech.ccidnet.com/art/302/20070618/1115599_1.html 简单而有用的nohup命令在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦:另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup<程序名>& 则控制台logout后,进程仍然继续运行,起到守护进程的作

【转】Linux下nohup命令实现退出终端后程序继续后台运行

Unix/Linux下一般想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行:但如果要想在退出终端后,程序依然还在后台运行,则要用nohup与&组合来实现. nohup 命令 用途:不挂断地运行命令 语法:nohup Command [ Arg ... ] [& ] 描述:nohup 命令运行由 Command参数和任何相关的Arg参数指定的命令,忽略所有挂断(SIGHUP)信号.在注销后使用 nohup 命令运行后台中的程序:要运行后台中的 nohup 命令,需要添

原创翻译:iOS 应用程序 蓝牙后台运行

默认情况下,普通的CoreBluetooth 任务中的大多数,无论是Central还是peripheral ,在后台或者挂起状况下都是无法进行的.也就是说,你可以通过宣布你的应用程序支持后台处理模式来允许你的一个应用程序把你从一个挂起状态中唤醒来执行某些蓝牙相关的事件. 即使你的应用程序支持一种或者两种CoreBluetooth后台执行模式,那么他也不会永远运行.在某些时候,系统也许由于当前的前台应用程序而终止你的应用程序来释放内存,这将会导致任何活跃的或者挂起的连接会丢失.在iOS7中,Cor

iOS开发之使程序在后台运行

方法一(此方法不太可靠): 开启程序后台运行: [application beginBackgroundTaskWithExpirationHandler:^{ //后台运行过期后会调用此block内代码 }]; 上面在后台开启任务让程序在后台持续保持运行状态,但能保持运行的时间是不确定.比如内存不足的时候系统可能停止其在后台运行. 方法二: 欺骗系统,在Info.plist中声明自己的应用类型为audio.在后台播放mp3.使其能长期在后台运行.

让linux程序在后台运行

最近要用php进程发奖励,因为要精确到秒执行,linux系统的定时用不了,于是写了个死循环,usleep是必须的,否则系统cpu占用很高的系统cpu. 执行的时候碰到一个问题,关闭终端后进程也终止了.在此记录下解决方法. define('IN_WEB', 'true'); set_time_limit(0); include(dirname(__FILE__)."/../com.php"); $pidFile = PATH_DAT . 'ticket.pid'; if(file_exi

程序放后台运行

#import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate /** * 使用block的另一个用处是可以让程序在后台较长久的运行. 以前,当app被home键退出后,app仅有最多5秒钟的时候做一些保存或清理 资源工作.但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让app最多有10分钟的时间在后台

在windows中:双击运行Python程序、后台运行Python程序

一.安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退.怎样避免闪退呢? 1.bat启动 start_show.bat  中 python main.py 2.升级版:vbs后台运行(无界面) start_hidden.vbs  中 Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c start_show.bat",0 二.windows中怎么快捷杀掉Python程序? 答:bat杀

linux 让程序在后台运行的几种可靠方法

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题. 先介绍一下hangup 名称的来由 在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯.当用户 logout 时,modem 就会挂断(hang up)电话. 同理,当 modem 断开连接时,就