android 程序从后台跳到最顶层的界面
来源:互联网 发布:淘宝助理电脑 编辑:程序博客网 时间:2024/06/10 19:33
今天是我2015年新年上班的第一天!再次祝大家新年快乐!节节高升!想想上班到现在,如今过年的氛围自己感觉远远没有小时候的鸡冻了!反而一想到上班,到是让我能够鸡冻快乐下的乐事之一了! 那么,今天我将给大家介绍一个小的知识点,就是当程序 从前台手动置为后台运行的时候,我们要通过各种操作方式,如点击桌面的程序运行图标,或者长按home键,以及第三方应用跳转到该程序的时候,我们有时候会经常发现,明明程序还在后台运行,我只是进行操作把它从后台置为前台而已,为什么会重新启动该程序呢? 其实,在这里我给大家一个解决方法:
package com.×××.×××;import java.util.List;import android.app.Activity;import android.app.ActivityManager;import android.app.ActivityManager.RunningTaskInfo;import android.content.Context;import android.content.Intent;import android.content.res.Configuration;import android.os.Bundle;/** * @类名:startActivity * @类描述:启动类 * @作者:Administrator * @创建时间:2015年2月25日-上午10:01:16 * @修改人:××× * @修改时间: * @修改备注: * @版本: */public class startActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (needStartApp()) { /**如果需要重启,do something...**/ Intent i = new Intent(this, MainActivity.class); startActivity(i); } finish(); } @Override public void onConfigurationChanged(Configuration newConfig) { /** 当键盘显示与关闭,还有屏幕是横向和垂直切换时,我们在这里不做任何处理 **/ super.onConfigurationChanged(null); } /** * @方法说明:检测是否需要重启app * @方法名称:needStartApp * @return * @返回值:boolean */ private boolean needStartApp() { final ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); final List<RunningTaskInfo> tasksInfo = am.getRunningTasks(1024); if (!tasksInfo.isEmpty()) { final String ourAppPackageName = getPackageName(); RunningTaskInfo taskInfo; final int size = tasksInfo.size(); for (int i = 0; i < size; i++) { taskInfo = tasksInfo.get(i); if (ourAppPackageName.equals(taskInfo.baseActivity .getPackageName())) { /** continue application start only if there is the only * Activity in the task * (BTW in this case this is the StartupActivity)**/ return taskInfo.numActivities == 1; } } } return true; }}
接下来我们要在清单配置文件里面进行配置,默认启动程序入口从该类进入:
<activity android:name=".StartupActivity" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
好的。看到这里是不是很简单啊!其实,这个还是困扰了不少人地!谢谢
0 0
- android 程序从后台跳到最顶层的界面
- Android 将程序从后台转到前台
- [Android开发] 从后台恢复前台界面需要输入密码的demo|监听Home短按长按锁屏
- android监测程序进入后台以及从后台返回
- Android监测程序压入后台及从后台返回
- Android监测程序压入后台及从后台返回
- 后台EXE程序向界面发送进度信息的方法
- Androidstudio界面总是悬浮在顶层的问题解决
- Android call setting 源码分析 从顶层到底层
- 【收藏】Android call setting 源码分析 从顶层到底层
- android 从顶层到底层 学习笔记--- framework架构
- android 从顶层到底层 学习笔记--- View树
- android实现程序的后台运行
- android实现程序的后台运行
- android 创建后台运行的服务程序
- android实现程序的后台运行
- android实现程序的后台运行
- android AsyncTask 可以更新界面的后台任务
- fatal error LNK1123: 转换到 COFF 期间失败: 各种解决方法
- iOS彩色日志 ------ 框架CocoaLumberjack
- directive共用 及 定义公共controller或者 service 多个页面调用
- 关注的计算机视觉研究组和个人主页列表
- 22岁的我
- android 程序从后台跳到最顶层的界面
- 解决在IDEA14 的Maven下 出现 Cannot access in offline mode 问题
- 跨平台移动应用开发是否真的是一个好选择?
- JAVA学习笔记45——四种引用+三种HashMap+同步控制+不可变设置
- ios身份证验证
- 关于页面布局
- iOS app crash日志分析
- Akka学习笔记07--TypedActor(有类型的Actor)
- [leetcode] 10 Regular Expression Matching