Dil*_*lip 2 android android-intent
我有一个主要活动A,它将调用另一个活动B,其oncreate()在下面提到.当我在活动B中按主页按钮并按下最近的应用程序时,永远不会设置标志FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY.我正在使用三星nexus 10(Android 4.4.2).
protected void onStart() {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0)
{
//Call Main Activity.
}
else
{
//Continue creating this activity
}
}
Run Code Online (Sandbox Code Playgroud)
当我将if块放在onCreate()中时,当我从最近的应用程序打开我的应用程序时,它永远不会被调用.
编辑1:让我解释一下我想做什么.每当用户使应用程序转到后台(锁定屏幕,按下主页按钮等)时,我想在应用程序到达前台时调用特定活动(用于身份验证).
我觉得你很困惑.如果您的主要活动启动ActivityB,那么ActivityB.onCreate()将被调用并且Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY不会被设置.现在,将ActivityB放在前台,按HOME按钮.此任务被推送到后台.稍后,用户打开最近任务列表并选择您的应用程序.任务(ActivityB在顶部)只是放到前台.ActivityB 未重新创建,因此Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY仍未设置.不再调用 ActivityB.onCreate()` .
Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY仅当用户从最近任务列表中选择应用时,Android才会创建活动的新实例.在大多数情况下,这将是用户在所有活动完成后再次(从头开始)启动应用程序的时间.
| 归档时间: |
|
| 查看次数: |
2381 次 |
| 最近记录: |