未知启动进程启动我的活动



我遇到了一个奇怪的问题。首先,这是我的活动流程

IntActivity -> 111Activity -> 222activity -> 333Activity

每个活动都有[Forward] &【返回】按钮。(软件按钮)我在[Forward]中所做的是:Int to 111)

Intent intent=new Intent(IntActivity.this, 111Activity.class);
startActivity(intent);
finish();

在[Back]中做这个:333回到222)

Intent intent=new Intent(333Activity.this, 222Activity.class);
startActivity(intent);
finish();
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

现在,用户说如果他们快速按下[返回],当IntActivity关闭时,他们会看到空白页。看起来像333Activity.

空白页意味着它有完整的UI组件,但里面没有任何用户数据。如果333Activity被正确启动,它应该填充用户数据,并且333Activity只能由222Activity启动。

以下是我在logcat

上看到的内容
INFO/ActivityManager(1321): Starting activity: Intent { cmp=tw.com.xxxx.android.yyyy/.IntActivity } from pid 14517
DEBUG/dalvikvm(14517):      GC_EXPLICIT freed 2084K, 56% free 3653K/8199K, external 8158K/10188K, paused 65ms
ERROR/SurfaceFlinger(1321): layer=0xa49520 is not in the purgatory list
INFO/ActivityManager(1321): Process tw.com.xxxx.android.yyyy (pid 14517) has died.
// Here, the IntActivity ware been finished due to finish(); or System.exit(0); been called
INFO/WindowManager(1321):   WIN DEATH: Window{40a0cae8 tw.com.xxxx.android.yyyy/tw.com.xxxx.android.yyyy.111Activity paused=false}
INFO/WindowManager(1321):   WIN DEATH: Window{40a2a828 tw.com.xxxx.android.yyyy/tw.com.xxxx.android.yyyy.IntActivity paused=false}
INFO/ActivityManager(1321): Start proc tw.com.xxxx.android.yyyy for activity tw.com.xxxx.android.yyyy/.333Activity: pid=14535 uid=10105 gids={3003}

检查日志的最后一行,不是"Starting activity",而是"Start proc"。

我仍然不知道到底发生了什么…任何想法或建议都欢迎:)

我的设备是:android 2.2中的HTC DesireHD(不会有这个问题)HTC DesireHD在android 2.3.3(显示这个问题我张贴频率)

我觉得你做错了:带着意图启动一个活动是可以的,但是回到已经启动过一次的活动,对你来说是错误的。

活动就像一叠卡片,第一个活动->第二个活动->第三个活动用android提供的返回按钮,它的顺序是相反的,你不需要为它触发另一个意图

最新更新