`
quanminchaoren
  • 浏览: 923024 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android 实现Activity后台运行

阅读更多

此方法其实不是主要是屏蔽Keycode_Back,让它不结束(finish())Activity,直接显示HOME界面。

 

Java代码
  1. PackageManager pm = getPackageManager();  
  2.                               ResolveInfo homeInfo = pm.resolveActivity(new  Intent(Intent.ACTION_MAIN)  
  3. .addCategory(Intent.CATEGORY_HOME), 0 );  
		PackageManager pm = getPackageManager();
                                ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN)
		.addCategory(Intent.CATEGORY_HOME), 0);

 

 

Java代码
  1. public   boolean  onKeyDown( int  keyCode, KeyEvent event) {  
  2.     if  (keyCode == KeyEvent.KEYCODE_BACK) {  
  3.         ActivityInfo ai = homeInfo.activityInfo;  
  4.         Intent startIntent = new  Intent(Intent.ACTION_MAIN);  
  5.         startIntent.addCategory(Intent.CATEGORY_LAUNCHER);  
  6.         startIntent.setComponent(new  ComponentName(ai.packageName,  
  7.                 ai.name));  
  8.         startActivitySafely(startIntent);  
  9.         return   true ;  
  10.     } else   
  11.         return   super .onKeyDown(keyCode, event);  
  12. }  
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		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);
	}

 

 

Java代码
  1. void  startActivitySafely(Intent intent) {  
  2.     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  3.     try  {  
  4.         startActivity(intent);  
  5.     } catch  (ActivityNotFoundException e) {  
  6.         Toast.makeText(this , R.string.unabletoopensoftware,  
  7.                 Toast.LENGTH_SHORT).show();  
  8.     } catch  (SecurityException e) {  
  9.         Toast.makeText(this , R.string.unabletoopensoftware,  
  10.                 Toast.LENGTH_SHORT).show();  
  11.         Log  
  12.                 .e(  
  13.                         TAG,  
  14.                         "Launcher does not have the permission to launch "   
  15.                                 + intent  
  16.                                 + ". Make sure to create a MAIN intent-filter for the corresponding activity "   
  17.                                 + "or use the exported attribute for this activity." ,  
  18.                         e);  
  19.     }  

分享到:
评论

相关推荐

    android实现activity后台运行.docx

    ### Android 实现 Activity 后台运行 在 Android 开发中,有时我们需要让 Activity 在后台运行,而不是简单地将其关闭或转到前台。这通常用于一些特定的应用场景,比如需要保持某些功能持续运行的情况下。本文将...

    Activity后台运行方法

    鉴于有时需要Activity在后台运行,该文档提供了Activity后台运行的方法

    Android中获取后台正在运行的应用列表

    在Android设备中,按Back键会将当前的Activity出栈销毁,而按HOME键却会将之隐藏到后台。如若有多个这样的程序这样操作,我们不知道后台到底有多少个正在运行的应用程序。此程序的目的就列举出后台正在运行的应用...

    Android一键清理后台实现

    总之,实现“Android一键清理后台”涉及到获取运行进程、判断和结束后台应用、添加动画效果、创建桌面小部件以及处理权限等多个方面。通过以上步骤,我们可以构建一个高效且用户友好的清理工具。

    Android判断栈顶activity;打印当前最顶层的activity类名;采用服务后台运行获取当前activity类名;

    Android判断栈顶activity;打印当前最顶层的activity类名;采用服务后台运行获取当前activity类名;是一个demo App,使用Android studio工具打开,有需要的可以自行下载;

    Android中运行权限

    在Android系统中,运行权限是保护用户数据和设备安全的重要机制。从Android 6.0(API级别23)开始,引入了一项重大变化,即动态权限管理,这与之前的版本有很大不同。在Android 6.0之前,应用在安装时会一次性请求...

    安卓后台服务相关-可以实现service后台运行自启动隐藏安装图标相当简单易懂studio直接导就行.rar

    本教程资源“安卓后台服务相关-可以实现service后台运行自启动隐藏安装图标相当简单易懂studio直接导就行.rar”提供了实现这些功能的示例代码,便于开发者理解和实践。 1. **后台服务(Service)**: - **定义**:...

    Android 低版本和高版本获取后台运行进程

    在Android系统中,由于安全性和性能优化的考虑,获取后台运行进程的方式随着系统版本的升级有所变化。在早期版本和Android 5.0及以上版本,API接口和策略都有所不同。下面将详细介绍如何在Android的不同版本中获取...

    安卓service后台运行,自启动,隐藏安装图标

    本教程将深入探讨如何创建一个能在后台运行的Service,并实现自启动以及隐藏应用图标的功能,使得应用能够在用户不知情的情况下运行。 首先,我们来了解**Service**的基本概念。Service主要用于执行长时间运行的...

    Android后台保持运行,开机后自动启动设定好的APK的DEMO.zip

    这个DEMO应该包含了创建服务、广播接收器、权限配置以及相应的代码逻辑,学习并理解这个DEMO可以帮助你掌握如何在Android上实现后台运行和开机启动。在实际开发中,确保你的应用符合用户隐私和性能的最佳实践,提供...

    安卓Android源码——后台保持运行,开机后自动启动设定好的APK的DEMO.rar

    在安卓(Android)系统中,实现应用在...通过理解以上知识点,并参考提供的DEMO源码,开发者可以学习到如何在Android平台上实现后台运行和开机自启的应用,这对于创建系统级别的服务或者需要持续运行的任务非常重要。

    service后台运行实时更新activity

    在Android应用开发中,"Service后台运行实时更新Activity"是一个常见的需求,主要涉及到Service、Handler以及UI更新等关键概念。Service是Android系统的一种组件,它能够在后台长时间运行,即使用户离开了应用程序...

    Android 仿QQ后台运行时收到推送消息 在顶部弹出 源码

    在Android平台上,实现类似QQ后台运行时收到推送消息并在顶部弹出的效果,主要涉及到的是通知(Notification)管理和自定义头部通知(Heads-up Notification)的使用。本文将深入解析这一功能的技术实现,以及如何...

    Android的Activity周期测试

    此外,对于长时间运行的Activity,考虑使用后台服务或IntentService以降低内存占用。 总之,深入理解并测试Android的Activity周期对于开发者来说是必不可少的技能。通过实践,开发者能够编写出更加健壮、响应迅速且...

    Android部分Activity篇.pdf

    2. onStart():Activity变为可见但未在前台时调用,意味着Activity正在后台准备。 3. onResume():Activity进入前台并可与用户交互时调用,Activity现在是活动状态。 4. onPause():当Activity即将被另一个Activity...

    Android-Android后台保活这里有你需要的所有姿势

    在Android开发中,"后台保活"是指当应用程序在用户看不到的后台运行时,通过各种技术手段保持其活动状态,防止被系统优化机制关闭。在Android系统中,由于内存管理和电池寿命的考虑,系统会自动清理后台应用以优化...

    Android代码-后台保持运行开机后自动启动设定好的APK的DEMO.zip

    在Android开发中,有时我们需要实现应用在用户开机后自动启动并保持后台运行的功能,这通常涉及到服务(Service)和BroadcastReceiver(广播接收器)的概念。本DEMO将演示如何实现这一功能,通过分析提供的文件我们...

    android客户端与后台服务器交互

    本示例探讨了如何实现Android客户端与基于Struts、Hibernate和Spring的后台服务器之间的数据交互,使用JSON作为数据传输格式。对于初学者来说,这是一个很好的起点,因为它涵盖了多个关键的技术栈。 首先,让我们...

    Android 后台运行白名单实现保活

    但有一部分应用,应用本身的使用场景就需要在后台运行,用户也是愿意让它在后台运行的,比如跑步类应用。一方面流氓软件用各种流氓手段进行保活,另一方面系统加大杀后台的力度,导致我们一些真正需要在后台运行的...

    Android利用Intent启动和关闭Activity

    - 在处理完Intent后,及时调用`finish()`关闭Activity,避免内存泄漏和不必要的后台运行。 总的来说,Intent是Android中非常重要的一个概念,它使得组件间的通信变得简单且灵活,是实现应用动态行为和流程控制的...

Global site tag (gtag.js) - Google Analytics