重定义Home键后Android 强制退出并回到系统Home Screen的方法
2012-05-30 11:12
696 查看
通常情况下,按“Home”键可以回到“Home Screen”,这时你的应用可能还在后台运行。对于某些特殊情况,比如你重新定义了“Home“键防止用户退出你的应用,在某些情况下需要回到系统自带的Home 应用并强制退出应用。
假定能自定义的Home 应用名称为DummyActivity,你重新定义了Home 键,此时如过按“Home”键,系统会列出如下类似的列表:
此时如果将DummyActivity设为缺省“Use by default for this action”,以后用户将无法按“Home”键退回原有的Home应用。
在这种情况下,如果需要启动缺省的Home应用,可以通过PackageManager查询所有带有Intent.CATEGORY_HOME的Activity,启动其中名称不为DummyActivity 的Activity(系统缺省Home应用)。
假定能自定义的Home 应用名称为DummyActivity,你重新定义了Home 键,此时如过按“Home”键,系统会列出如下类似的列表:
此时如果将DummyActivity设为缺省“Use by default for this action”,以后用户将无法按“Home”键退回原有的Home应用。
在这种情况下,如果需要启动缺省的Home应用,可以通过PackageManager查询所有带有Intent.CATEGORY_HOME的Activity,启动其中名称不为DummyActivity 的Activity(系统缺省Home应用)。
private void exitApplication(){ MainMenuActivity.closeAllBelowActivities(MainMenuActivity.this); finish(); try { PackageManager localPackageManager = getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); List<ResolveInfo> resolveInfos = localPackageManager .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); for (int i = 0; i < resolveInfos.size(); i++) { ResolveInfo resolveInfo = resolveInfos.get(i); ActivityInfo activityInfo = resolveInfo.activityInfo; if (!activityInfo.name.endsWith("DummyActivity")) { ComponentName componentName = new ComponentName( activityInfo.packageName, activityInfo.name); Intent intent1 = new Intent(); intent1.setComponent(componentName); startActivity(intent1); System.exit(0); break; } } } catch (Exception e) { mLoger.info("default home screen not found " + e.getMessage()); } }
相关文章推荐
- 重定义Home键后Android 强制退出并回到系统Home Screen的方法
- 重定义Home键后Android 强制退出并回到系统Home Screen的方法
- Android_ 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- Android关于项目中遇到的按home键退出到桌面,再次打开重新启动程序的解决方法
- android 调用系统相册选取照片或者打开相机拍照获取图片,返回时为什么会回到home界面或者到前一个界面,然后才会跳转到当前activity
- Android中home键监听一个好用的方法。(按home键后播放器停止播放)
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- 在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框(很有参考价值与实用价值)
- 在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- Android 2.3禁止系统弹出应用程序强制退出对话框
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- android基础知识---重写系统Crash处理类保存上传和完美退出程序的方法
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- (4.1.35.2)Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- 在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框(很有参考价值与实用价值)
- 在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框(很有参考价值与实用价值)