此方法其实不是主要是屏蔽Keycode_Back,让它不结束(finish())Activity,直接显示HOME界面。
-
PackageManager pm = getPackageManager();
-
ResolveInfo homeInfo = pm.resolveActivity(new
Intent(Intent.ACTION_MAIN)
-
.addCategory(Intent.CATEGORY_HOME), 0
);
PackageManager pm = getPackageManager();
ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN)
.addCategory(Intent.CATEGORY_HOME), 0);
-
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);
-
}
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);
}
-
void
startActivitySafely(Intent intent) {
-
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
try
{
-
startActivity(intent);
-
} catch
(ActivityNotFoundException e) {
-
Toast.makeText(this
, R.string.unabletoopensoftware,
-
Toast.LENGTH_SHORT).show();
-
} catch
(SecurityException e) {
-
Toast.makeText(this
, R.string.unabletoopensoftware,
-
Toast.LENGTH_SHORT).show();
-
Log
-
.e(
-
TAG,
-
"Launcher does not have the permission to launch "
-
+ intent
-
+ ". Make sure to create a MAIN intent-filter for the corresponding activity "
-
+ "or use the exported attribute for this activity."
,
-
e);
-
}
-
}
分享到:
相关推荐
### Android 实现 Activity 后台运行 在 Android 开发中,有时我们需要让 Activity 在后台运行,而不是简单地将其关闭或转到前台。这通常用于一些特定的应用场景,比如需要保持某些功能持续运行的情况下。本文将...
鉴于有时需要Activity在后台运行,该文档提供了Activity后台运行的方法
在Android设备中,按Back键会将当前的Activity出栈销毁,而按HOME键却会将之隐藏到后台。如若有多个这样的程序这样操作,我们不知道后台到底有多少个正在运行的应用程序。此程序的目的就列举出后台正在运行的应用...
总之,实现“Android一键清理后台”涉及到获取运行进程、判断和结束后台应用、添加动画效果、创建桌面小部件以及处理权限等多个方面。通过以上步骤,我们可以构建一个高效且用户友好的清理工具。
Android判断栈顶activity;打印当前最顶层的activity类名;采用服务后台运行获取当前activity类名;是一个demo App,使用Android studio工具打开,有需要的可以自行下载;
在Android系统中,运行权限是保护用户数据和设备安全的重要机制。从Android 6.0(API级别23)开始,引入了一项重大变化,即动态权限管理,这与之前的版本有很大不同。在Android 6.0之前,应用在安装时会一次性请求...
本教程资源“安卓后台服务相关-可以实现service后台运行自启动隐藏安装图标相当简单易懂studio直接导就行.rar”提供了实现这些功能的示例代码,便于开发者理解和实践。 1. **后台服务(Service)**: - **定义**:...
在Android系统中,由于安全性和性能优化的考虑,获取后台运行进程的方式随着系统版本的升级有所变化。在早期版本和Android 5.0及以上版本,API接口和策略都有所不同。下面将详细介绍如何在Android的不同版本中获取...
本教程将深入探讨如何创建一个能在后台运行的Service,并实现自启动以及隐藏应用图标的功能,使得应用能够在用户不知情的情况下运行。 首先,我们来了解**Service**的基本概念。Service主要用于执行长时间运行的...
这个DEMO应该包含了创建服务、广播接收器、权限配置以及相应的代码逻辑,学习并理解这个DEMO可以帮助你掌握如何在Android上实现后台运行和开机启动。在实际开发中,确保你的应用符合用户隐私和性能的最佳实践,提供...
在安卓(Android)系统中,实现应用在...通过理解以上知识点,并参考提供的DEMO源码,开发者可以学习到如何在Android平台上实现后台运行和开机自启的应用,这对于创建系统级别的服务或者需要持续运行的任务非常重要。
在Android应用开发中,"Service后台运行实时更新Activity"是一个常见的需求,主要涉及到Service、Handler以及UI更新等关键概念。Service是Android系统的一种组件,它能够在后台长时间运行,即使用户离开了应用程序...
在Android平台上,实现类似QQ后台运行时收到推送消息并在顶部弹出的效果,主要涉及到的是通知(Notification)管理和自定义头部通知(Heads-up Notification)的使用。本文将深入解析这一功能的技术实现,以及如何...
此外,对于长时间运行的Activity,考虑使用后台服务或IntentService以降低内存占用。 总之,深入理解并测试Android的Activity周期对于开发者来说是必不可少的技能。通过实践,开发者能够编写出更加健壮、响应迅速且...
在Android系统中,当用户点击应用的返回按钮或者调用`finish()`方法时,当前活动(Activity)会被销毁,但这并不意味着整个应用程序进程被完全结束。实际上,Android系统为了优化性能,可能会保持应用的部分或全部...
2. onStart():Activity变为可见但未在前台时调用,意味着Activity正在后台准备。 3. onResume():Activity进入前台并可与用户交互时调用,Activity现在是活动状态。 4. onPause():当Activity即将被另一个Activity...
在Android开发中,"后台保活"是指当应用程序在用户看不到的后台运行时,通过各种技术手段保持其活动状态,防止被系统优化机制关闭。在Android系统中,由于内存管理和电池寿命的考虑,系统会自动清理后台应用以优化...
在Android开发中,有时我们需要实现应用在用户开机后自动启动并保持后台运行的功能,这通常涉及到服务(Service)和BroadcastReceiver(广播接收器)的概念。本DEMO将演示如何实现这一功能,通过分析提供的文件我们...
本示例探讨了如何实现Android客户端与基于Struts、Hibernate和Spring的后台服务器之间的数据交互,使用JSON作为数据传输格式。对于初学者来说,这是一个很好的起点,因为它涵盖了多个关键的技术栈。 首先,让我们...
但有一部分应用,应用本身的使用场景就需要在后台运行,用户也是愿意让它在后台运行的,比如跑步类应用。一方面流氓软件用各种流氓手段进行保活,另一方面系统加大杀后台的力度,导致我们一些真正需要在后台运行的...