FLAG_ACTIVITY_NEW_TASK:
从一个Activity中要通过intent调出另一个Activity的话,需要使用 FLAG_ACTIVITY_NEW_TASK
否则的话,会有force close:
03-01 18:49:37.888 E/AndroidRuntime( 2706): FATAL EXCEPTION: main
03-01 18:49:37.888 E/AndroidRuntime( 2706): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:
如果调出的Activtivity只是一个功能片段,并没有实际的意义,也没有必要出现在长按Home键调出最近使用过的程序类表中,那么使用FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
Intent intent = new Intent(this, WaitingFallBackDialog.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);
分享到:
相关推荐
本篇将深入探讨`Activity`的启动模式和`Intent`的`Flag`属性对`Intent`传值的影响。 1. **Activity启动模式**: - **Standard**(标准模式):默认模式,每次启动新的实例,无论当前栈中是否存在该Activity。 - *...
对于隐式Intent,需要设置Action、Data等属性,系统会查找匹配的Activity。 5. **启动Service**: 启动Service的方式与启动Activity类似,只是使用`startService(intent);`而不是`startActivity()`. 服务通常用于...
Affinity是指Activity属于哪个任务的属性,通常同一个应用的所有Activity具有相同的affinity。因此,调用`finishAffinity()`可以一次性关闭同一任务栈内的所有Activity。 下面是一个简单的实现示例: ```java ...
另外,我们还可以通过修改AndroidManifest.xml中Activity的`android:launchMode`属性来全局设定Activity的启动模式,它有四个可选值: 1. `standard`(默认):每次启动都会创建新的Activity实例。 2. `singleTop`...
以上所述,通过合理使用`FLAG_ACTIVITY_REORDER_TO_FRONT`和`FLAG_ACTIVITY_CLEAR_TOP`标志,以及重写`onNewIntent()`方法,我们可以避免频繁调用`onCreate()`,提高Activity之间的切换效率。同时,自定义动画能提供...
4. Manifest文件中的Activity属性: - `android:allowTaskReparenting`:允许Activity在运行时改变其所属的Task。例如,当用户从主屏幕小部件启动Activity时,可能会希望Activity与主应用的Task关联。 - `android:...
在Android应用开发中,`Activity`是用户界面的基本单元,`launchMode`是每个`Activity`在`AndroidManifest.xml`中可配置的一个重要属性。它决定了`Activity`启动时的行为方式,对应用的流程和用户体验有直接影响。本...
这种效果通常是通过调整Activity的窗口属性和使用自定义主题来实现的。以下将详细解释如何创建具有背景半透明效果的Activity。 首先,我们需要了解Android中的Activity是如何显示的。Activity是Android应用的基本...
2. FLAG_ACTIVITY_CLEAR_TOP:当目标Activity已在栈中时,清除它上面的所有Activity,然后回调onNewIntent()。 3. FLAG_ACTIVITY_SINGLE_TOP:等同于设置启动模式为SingleTop。 4. FLAG_ACTIVITY_REORDER_TO_FRONT:...
3. **Activity选择**:如果多个Activity的Intent Filter都匹配,系统会根据`Intent`的`FLAG_ACTIVITY_*`标志和`<intent-filter>`中的`priority`属性来决定启动哪个Activity。默认情况下,具有更高优先级的Activity会...
如果已有与目标Activity的affinity属性相匹配的任务栈,那么这个Activity会被压入对应的栈中,从而避免创建新的任务。 需要注意的是,通常情况下,Activity的launchMode默认为`standard`,在这种模式下,每次启动...
此外,源码可能还涉及到FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_SINGLE_TOP这两个Intent标志位的使用。当设置FLAG_ACTIVITY_CLEAR_TOP时,如果有已存在的任务实例,那么它将被调到栈顶,同时清除它上面的所有...
这里设置了`FLAG_ACTIVITY_NEW_TASK`和`FLAG_ACTIVITY_CLEAR_TASK`标志,确保只启动目标Activity,不带任何之前的任务栈。 2. **创建ShortcutInfo**:接下来,我们要构建一个ShortcutInfo对象,它包含了快捷方式的...
此外,还可以通过Intent的FLAG_ACTIVITY_*系列标志来动态控制启动行为,比如FLAG_ACTIVITY_NEW_TASK或FLAG_ACTIVITY_SINGLE_TOP。 理解并灵活运用这些启动模式,可以帮助开发者更好地控制Activity的生命周期,提高...
4. **模拟Activity进出栈**:开发者可能需要在测试或特定场景下模拟Activity的进出栈行为,这通常通过Intent的FLAG属性实现,如FLAG_ACTIVITY_NEW_TASK、FLAG_ACTIVITY_CLEAR_TOP等。例如,使用FLAG_ACTIVITY_NEW_...
- 在Activity的onCreate()方法中找到这个WebView并设置其属性,如加载网页的URL。 ```java WebView webView = findViewById(R.id.webView); webView.loadUrl("http://www.example.com"); ``` - 配置WebView的...
同时,还可以通过Intent的FLAG_ACTIVITY_*系列标志动态改变启动行为,如FLAG_ACTIVITY_NEW_TASK和FLAG_ACTIVITY_SINGLE_TOP等。 总之,掌握Activity的启动模式对于优化应用流程、防止内存泄漏以及提升用户体验具有...
例如,FLAG_ACTIVITY_NEW_TASK会使得新的Activity在新的任务栈中启动,而FLAG_ACTIVITY_CLEAR_TOP则会把栈顶的Activity清除,使得被启动的Activity成为栈顶。 通过上述步骤,我们可以实现Android应用中Activity之间...
开发者可以通过在AndroidManifest.xml中设置<activity>标签的android:launchMode属性来指定启动模式。此外,还可以通过Intent的flag(如FLAG_ACTIVITY_NEW_TASK或FLAG_ACTIVITY_SINGLE_TOP)来动态改变启动行为。 ...
- 在你的主Activity的清单文件(AndroidManifest.xml)中,为该Activity添加以下属性: ```xml <activity android:name=".YourMainActivity" android:launchMode="singleTask" android:clearTaskOnLaunch="true...