android 后台运行

时间:2024-01-10 11:23:02
  1. 改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁,代码如下:
  2. public boolean onKeyDown(int keyCode, KeyEvent event) {
  3. PackageManager pm = getPackageManager();
  4. ResolveInfo homeInfo =
  5. pm.resolveActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME), 0);
  6. if (keyCode == KeyEvent.KEYCODE_BACK) {
  7. ActivityInfo ai = homeInfo.activityInfo;
  8. Intent startIntent = new Intent(Intent.ACTION_MAIN);
  9. startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
  10. startIntent.setComponent(new ComponentName(ai.packageName, ai.name));
  11. startActivitySafely(startIntent);
  12. return true;
  13. } else
  14. return super.onKeyDown(keyCode, event);
  15. }
  16. private void startActivitySafely(Intent intent) {
  17. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  18. try {
  19. startActivity(intent);
  20. } catch (ActivityNotFoundException e) {
  21. Toast.makeText(this, "null",
  22. Toast.LENGTH_SHORT).show();
  23. } catch (SecurityException e) {
  24. Toast.makeText(this, "null",
  25. Toast.LENGTH_SHORT).show();
  26. }
  27. }
  28. 文章转载自互联网,感谢原作者的无私分享。