0
我有3個活動,然後我從A導航到B,從B導航到C.堆棧是C-B-A(頂部是C)。 C活動有一個Runnable,可以在每個時間間隔工作,並連接到更新UI的Web服務。如果活動C來到後臺,則會被銷燬,然後再次到達前臺,任務將從主活動A開始。我想回到C活動。有可能嗎?當活動來到前臺去主要活動不是堆棧頂部
在模擬器工作正常,但在我的智能手機只有這個應用程序運行,總是destory整個應用程序..我可以做點什麼嗎?如果我做了與用戶界面分開的服務,可以改進嗎?
EDIT2:我嘗試AndroidManifest
<activity android:name=".ActivityA" android:label="@string/app_name"
android:alwaysRetainTaskState="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="oauthht" android:host="hattrick"/>
</intent-filter>
</activity>
<activity android:name=".ActivityB" android:label="@string/ActivityB"
android:screenOrientation="portrait"></activity>
<activity android:name=".ActivityC" android:label="@string/ActivityC"
android:screenOrientation="portrait"
android:launchMode="singleTask">
EDIT2此聲明:和代碼來調用活動:
在主活動中:
public void onClickButtonB(View button) {
Intent intent = new Intent();
intent.setComponent(new ComponentName(this,ActivityB.class));
startActivity(intent);
}
在活動B中:
Bundle bundle = new Bundle();
bundle.putLong("selectedMatch", matchID);
Intent liveIntent = new Intent();
liveIntent.setComponent(new ComponentName(ActivityB.this, ActivityC.class));
liveIntent.putExtras(bundle);
startActivity(liveIntent);
聽起來像你的Activity C可以/應該是一個在後臺運行的服務。 – themanatuf 2012-08-07 16:21:26
Themanatuf,使zero.sense給我。 – tolgap 2012-08-07 16:31:28
你如何在代碼中啓動你的活動?請包括代碼。這聽起來像你包括混亂了默認行爲的標誌。 – 2012-08-07 17:13:15