Android(安卓)实现Activity后台运行
16lz
2021-01-24
此方法其实不是主要是屏蔽Keycode_Back,让它不结束(finish())Activity,直接显示HOME界面。
Java代码
- PackageManagerpm=getPackageManager();
- ResolveInfohomeInfo=pm.resolveActivity(newIntent(Intent.ACTION_MAIN)
- .addCategory(Intent.CATEGORY_HOME),0);
Java代码
- publicbooleanonKeyDown(intkeyCode,KeyEventevent){
- if(keyCode==KeyEvent.KEYCODE_BACK){
- ActivityInfoai=homeInfo.activityInfo;
- IntentstartIntent=newIntent(Intent.ACTION_MAIN);
- startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- startIntent.setComponent(newComponentName(ai.packageName,
- ai.name));
- startActivitySafely(startIntent);
- returntrue;
- }else
- returnsuper.onKeyDown(keyCode,event);
- }
Java代码
- voidstartActivitySafely(Intentintent){
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- try{
- startActivity(intent);
- }catch(ActivityNotFoundExceptione){
- Toast.makeText(this,R.string.unabletoopensoftware,
- Toast.LENGTH_SHORT).show();
- }catch(SecurityExceptione){
- Toast.makeText(this,R.string.unabletoopensoftware,
- Toast.LENGTH_SHORT).show();
- Log
- .e(
- TAG,
- "Launcherdoesnothavethepermissiontolaunch"
- +intent
- +".MakesuretocreateaMAINintent-filterforthecorrespondingactivity"
- +"orusetheexportedattributeforthisactivity.",
- e);
- }
- }
更多相关文章
- android如何限制只能输入指定的字符
- [Android]在代码里运行另一个程序的方法
- android判断当前应用是否启动、app运行状态、某个界面是否在前台
- android强制完全退出核心代码
- android调用平台功能
- Android(安卓)Edittext 显示光标 获取焦点 监听焦点
- Android中安全退出程序的六种方法
- Android(3) 注册界面点击返回登录界面并传值
- Android应用程序组件Content Provider应用实例(4)