【发布时间】:2014-07-29 17:39:20
【问题描述】:
我有一个 LoginActivity,它有一个带有监听器方法的按钮,
<Button
android:id="@+id/view_anonymous_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/action_view_anonymous"
android:onClick="startMain"/>
方法是,
public void startMain(View v) {
Intent intent = new Intent(this, Navigation.class);
intent.putExtra("token", "TEST");
startActivity(intent);
}
单击该按钮时,我尝试启动另一个活动“导航”。问题是正在调用新活动,但从未获得焦点。 LoginAcivity 再次出现。为了调试,我确实打印了Navigation的生命周期方法,流程是,
onStart -> onResume -> onPause -> onStop。我不确定导航活动为什么会停止。为了提供更多信息,Navigation 的 onCreate() 设置了一个 Fragment 并使用正确调用的 AsyncTask 加载一些数据。这是我的清单内容,
<application
android:allowBackup="true"
android:icon="@drawable/bee"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login"
android:windowSoftInputMode="adjustResize|stateVisible" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Navigation"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:launchMode="singleTask"
>
</activity>
</application>
我想得到一些指示来解决这个问题。
更新
活动管理器似乎再次启动 LoginActivity 而不是显示导航。 Navigation 的 onCreate() 设置了一个具有 framelayout 和 fragment 的 DrawerLayout。如果我将其更改为带有 textview 的简单 LinearLayout,它就可以正常工作。
7-29 03:18:35.302 293-293/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com。 knackforge.pithpicker/.LoginActivity} 来自 pid 970
07-29 03:18:35.832 293-554/system_process I/ActivityManager: 启动 proc com.knackforge.pithpicker 活动 com.knackforge.pithpicker/.LoginActivity: pid=980 uid=10046 gids={50046, 3003 , 1028}
07-29 03:18:40.822 293-309/system_process I/ActivityManager:显示 com.knackforge.pithpicker/。LoginActivity:+5s101ms(总计 +12s951ms)
07-29 03:18:47.052 293-393/system_process I/ActivityManager: START u0 {cmp=com.knackforge.pithpicker/.Navigation (has extras)} from pid 980
07-29 03:18:49.524 293-304/system_process I/ActivityManager: START u0 {cmp=com.knackforge.pithpicker/.LoginActivity (has extras)} from pid 980
07-29 03:18:50.052 293-310/system_process W/ActivityManager: ActivityRecord 的活动暂停超时{41aa4538 u0 com.knackforge.pithpicker/.Navigation}
【问题讨论】:
标签: android-activity