• 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.
    	 * 
    	 * 
    	 * 
    	 */
    
  • 相关阅读:
    [GUIDE] How to Setup Ubuntu 16.04 LTS Xenial Xerus for Compiling Android ROMs
    设置Ubuntu 16.04 LTS的Unity启动器的位置命令
    sed系列:行或者模式匹配删除特定行
    HDOJ 4923 Room and Moor
    Office365client通过本地方式批量部署(即点即用部署)
    hdu 1867 A + B for you again
    Photoshop经常使用快捷键(2)
    SQL_为表和列加凝视
    从头认识java-17.5 堵塞队列(以生产者消费者模式为例)
    Unity5 怎样做资源管理和增量更新
  • 原文地址:https://www.cnblogs.com/crazywenza/p/3490847.html
Copyright © 2020-2023  润新知