展会信息港展会大全

Android实现Activity后台运行
来源:互联网   发布日期:2016-01-14 10:07:13   浏览:1395次  

导读:第一种方法1Intent intent =newIntent(Intent.ACTION_MAIN);2intent.addCategory(Intent.CATEGORY_HOME);3intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);4startActivity(intent);第二种方法此方法其实不是主......

第一种方法

1

Intent intent = new Intent(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界面。

1

PackageManager pm = getPackageManager();

2

ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN)

3

.addCategory(Intent.CATEGORY_HOME), 0);

01

public boolean onKeyDown(int keyCode, KeyEvent event) {

02

if (keyCode == KeyEvent.KEYCODE_BACK) {

03

ActivityInfo ai = homeInfo.activityInfo;

04

Intent startIntent = new Intent(Intent.ACTION_MAIN);

05

startIntent.addCategory(Intent.CATEGORY_LAUNCHER);

06

startIntent.setComponent(new ComponentName(ai.packageName,

07

ai.name));

08

startActivitySafely(startIntent);

09

return true;

10

} else

11

return super.onKeyDown(keyCode, event);

12

}

01

void startActivitySafely(Intent intent) {

02

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

03

try {

04

startActivity(intent);

05

} catch (ActivityNotFoundException e) {

06

Toast.makeText(this, R.string.unabletoopensoftware,

07

Toast.LENGTH_SHORT).show();

08

} catch (SecurityException e) {

09

Toast.makeText(this, R.string.unabletoopensoftware,

10

Toast.LENGTH_SHORT).show();

11

Log

12

.e(

13

TAG,

14

Launcher does not have the permission to launch

15

+ intent

16

+. Make sure to create a MAIN intent-filterfor the corresponding activity

17

+or use the exported attribute for thisactivity. ,

18

e);

19

}

20

}

赞助本站

人工智能实验室

相关热词: Activity后台运行

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港