android实现程序的后台运行

来源:互联网 发布:cf mac能玩吗 编辑:程序博客网 时间:2024/04/29 06:35
改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁,代码如下:  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();             }        }