android 应用静默自启动的解决方法
一个apk完全的自动静默启动目前不能实现,所以就用到了Activity的一个方法activity.moveTaskToBack(boolean),这个方法就是可以退出应用到后台而不是finish()退出整个应用。
看看下面的简单实现吧
private boolean isFirst = true; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} @Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if (isFirst) {// 第一次默认是静默启动的
// 界面初始化后,就直接将本应用推到后台?
this.moveTaskToBack(false);
isFirst = false;
}
} /**
* 在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity
* 退到后台,注意不是finish()退出。
*
* 参数为false代表只有当前activity是task根,指应用启动的第一个activity时,才有效;
*
* 如果为true则忽略这个限制,任何activity都可以有效。
*
* moveTaskToBack调用后,task中activity的顺序不会发生变化,例如A启动B,B中调用此方法退到后台,
* 重新启动应用会调用B中的onRestart
* -onStart-onResume方法,不会重新调用onCreate,而且在B中按下back键返回的还是A,这就是退到后台的功能。
*
*
* 另外在activity中按下back键,实际是调用了finish方法,应用退出。虽然应用已经退出,但进程没有被杀死,
* android中一个应用运行于独立的一个虚拟机实例中,所以在重新启动应用时一个类中的静态对象还保持着运行时的状态,注意在合适位置复位这些状态。
*
* 关于moveTaskToBack 方法,官方API解释如下: public boolean moveTaskToBack (boolean
* nonRoot) Since: API Level 1
*
* Move the task containing this activity to the back of the activity stack.
* The activity's order within the task is unchanged. Parameters nonRoot If
* false then this only works if the activity is the root of a task; if true
* it will work for any activity in a task. Returns
*
* If the task was moved (or it was already at the back) true is returned,
* else false.
*
*
*
*/
android 应用静默自启动的解决方法的更多相关文章
- Android SDK下载失败的解决方法
Android SDK下载失败的解决方法 图1 在下载过程中,Android SDK Manager Log中出现下面出错信息: Preparing toinstall archives Downlo ...
- android studio 更新 Gradle错误解决方法(Gradle sync failed)
android studio 更新 Gradle错误解决方法 Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing ...
- Android webview 写入cookie的解决方法以及一些属性设置
原文地址:https://www.2cto.com/kf/201703/616868.html Android webview 写入cookie的解决方法以及一些属性设置,webview怎么设置写入C ...
- windows无法停用“Android Composite Interface”设备的解决方法
遇到这个问题时,解决方法如下: 打开设备管理器 -> 进程 -> 找到 adb.exe -> 右击选择结束进程 -> 然后重新弹出Android设备
- [原创]HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
最近在看一个老外写的东西,发现里面有个类,使用这个类可以让任何设备使用HierarchyView. 众所周知,市面上卖的Android设备,一般都不能使用HierarchyView,所以借此机会,了解 ...
- android studio中文乱码的解决方法【转】
一. 在android的源文件中的乱码问题 Android Studio安装后发现所有的中文,不管是界面上的还是输出的log中的中文都变成小框框,具体的解决方法如下, 可以肯定是字体的问题 解决:菜单 ...
- HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
声明:由于本人一直用eng版的真机调试,所以此方法没有用过,记录在这里,有机会验证 ---------------------------------------------------------- ...
- Android Studio ADB响应失败解决方法
当启动Android Studio时,如果弹出 adb not responding. you can wait more,or kill "adb.exe" process ma ...
- Android Studio ADB响应失败解决方法(2CTo.com)
当启动Android Studio时,如果弹出 adb not responding. you can wait more,or kill "adb.exe" process ma ...
随机推荐
- DOC下编译和运行带有包的java类文件
前言: 带有包名的java类在DOC下编译可以成功,但是运行出错 错误: 找不到或无法加载主类 com.soanl.socket.MyServer D盘temp文件下有个Hello.java文件,包 ...
- CRC32 vs Java.HashCode
找了容量为27万中文词库进行试验 CRC32 中冲突率 < 0.01% 而 Java.HashCode 有 4% hashCode 的速度 应该比 CRC 快 2-3 倍 CR ...
- flash builder 4 编译器参数
accessible=true|false 是否具有可理解性(如为残疾人提供方便的性能) actionscript-file-encoding | 设置文件编码,如Shitf_JIS advanced ...
- Linux新手笔记 svn ntfs
centos 6.4 64 笔记一.安装Apache1.使用yum命令安装Apacheyum -y install httpd2.设置开机启动Apachechkconfig --levels 235 ...
- UILabel显示html文本
NSString * htmlString = @"<html><body> Some html string \n <font size=\"13\ ...
- Java中常见的几种类型转换
public class Main { public static void main(String[] args){ //Int型数字转换成字符串 int num1=123456; //方法1 St ...
- typeof操作符的返回值
使用typeof操作符 对一个值使用typeof操作符可能返回下列某个字符串: 1):undefined——如果这个值未定义 2):boolean——如果这个值是布尔值 3):string——如果这个 ...
- PHP函数积累
1.mt_rand(min,max):随机返回min,max之间的随整数机数. 2.date('Y-m-d H:m:s',时间戳),将时间戳格式化为相应的时间格式.time()取得时间戳 3.arra ...
- 使用 Async 和 Await 的异步编程 #Reprinted#
异步方法容易编写 string urlContents = await client.GetStringAsync(); 以下特征总结了使上面一个异步方法. 方法签名包含一个 Async 或async ...
- 安装andriod studio时出现Internal error. Please report to https://code.google.com/p/an
有两种方法的哈 一,在文件中添加 disable.android.first.run=true (我试了这种就好使了哈) 1)进入刚安装的Android Studio目录下的bin目录.找到idea ...