Android 实现Activity后台运行

第一种方法

Java代码 收藏代码
  1. Intentintent=newIntent(Intent.ACTION_MAIN);
  2. intent.addCategory(Intent.CATEGORY_HOME);
  3. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  4. startActivity(intent);

第二种方法

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

Java代码 收藏代码
  1. PackageManagerpm=getPackageManager();
  2. ResolveInfohomeInfo=pm.resolveActivity(newIntent(Intent.ACTION_MAIN)
  3. .addCategory(Intent.CATEGORY_HOME),0);

Java代码 收藏代码
  1. publicbooleanonKeyDown(intkeyCode,KeyEventevent){
  2. if(keyCode==KeyEvent.KEYCODE_BACK){
  3. ActivityInfoai=homeInfo.activityInfo;
  4. IntentstartIntent=newIntent(Intent.ACTION_MAIN);
  5. startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
  6. startIntent.setComponent(newComponentName(ai.packageName,
  7. ai.name));
  8. startActivitySafely(startIntent);
  9. returntrue;
  10. }else
  11. returnsuper.onKeyDown(keyCode,event);
  12. }

Java代码 收藏代码
  1. voidstartActivitySafely(Intentintent){
  2. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  3. try{
  4. startActivity(intent);
  5. }catch(ActivityNotFoundExceptione){
  6. Toast.makeText(this,R.string.unabletoopensoftware,
  7. Toast.LENGTH_SHORT).show();
  8. }catch(SecurityExceptione){
  9. Toast.makeText(this,R.string.unabletoopensoftware,
  10. Toast.LENGTH_SHORT).show();
  11. Log
  12. .e(
  13. TAG,
  14. "Launcherdoesnothavethepermissiontolaunch"
  15. +intent
  16. +".MakesuretocreateaMAINintent-filterforthecorrespondingactivity"
  17. +"orusetheexportedattributeforthisactivity.",
  18. e);
  19. }
  20. }


你可能感兴趣的:(Activity)