zoukankan      html  css  js  c++  java
  • (原创)Activity启动模式之singleTask

    android中activity有四种启动模式

    standard(默认):在同一个任务栈中可以有重复的activity,基本没什么限制

    singleTop:只有当此activity在栈顶时,去创建它,不会有新的activity生成,而是调用onNewInstance()方法

    singleTask:在栈中只有一个activity实例,回调onNewInstance(),会把它之上的activity都finish()掉

    singleInstance:会在新的任务栈中创建

    设置启动模式在AndroidManifest.xml中

    <activity
                android:name=".MainActivity"
                android:launchMode="singleTask"
                android:label="@string/app_name" >

    onNewIntent()方法

    /**
    	 * 只有在新的intent时候才会调用此方法,Home键退出之后再进来,或者本例中跳转过来
    	 */
    	@Override
    	protected void onNewIntent(Intent intent) {
    		Toast.makeText(MainActivity.this, "onNewIntent调用了", 0).show();
    		super.onNewIntent(intent);
    	}
    

      配合singleTask和onNewIntent()可以做到Home键再点击图标进来后调用此方法.

    但是设置MainActivity为singleTask之后,Home键后再点击图标总会打开MainActivity,无论home时在哪个activity.

    默认的启动模式并不会这样,这里是要注意的地方.

  • 相关阅读:
    hrbust 1558 小背包(简单01背包)水坑
    hrbust 1174泉水(DFS深度优先搜索)
    HDU 1115
    HDU 4273
    HDU 2912
    POJ 3528
    HDU 1912
    HDU 4741
    HDU 4617
    POJ 1755
  • 原文地址:https://www.cnblogs.com/BlogCommunicator/p/4881133.html
Copyright © 2011-2022 走看看