【发布时间】:2012-10-03 08:50:49
【问题描述】:
我在 BrodcastReceiver 中的 A Activity 和 i B Activity 中。
@Override
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//start activity
((Activity) context).runOnUiThread(new Runnable(){
public void run(){
Intent i = new Intent(context, Pause.class);
i.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(i);
}
});
wasScreenOn = false;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
wasScreenOn = true;
}
}
问题是当解锁屏幕时,Activity A 在显示 Activity B 之前出现一秒钟。我该如何解决?
【问题讨论】:
-
Activity B 中是否有任何代码需要额外的时间才能准备好?
-
是一个带有简单 FrameLayout 和静态 textView 的 Activity。
-
hmmm 那么应该不是问题。作为一个建议:不要给你TextView STATIC,它可能会导致内存泄漏。
标签: android broadcastreceiver start-activity