2010-11-17 26 views
2

我有一個活動Alert,其在清單中定義像這樣:Android:我如何始終從特定活動啓動應用程序?

 <activity android:name="Alert" 
       android:label="@string/app_name" 
       android:theme="@android:style/Theme.Dialog" 
       android:launchMode="singleInstance" 
       android:noHistory="true"> 
    </activity> 

我也有另一個活動Config其是用於主畫面小工具的設定頁面並且被定義爲

 <activity android:name=".Config" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

當用戶點擊小部件時會顯示Alert活動。現在我的問題是,在運行應用程序並返回主屏幕後,當我長按主頁鍵並選擇應用程序時,會顯示Alert活動。有沒有辦法阻止這種情況發生,並始終從Config活動開始?

回答

2

爲了說明這個問題,您應該瞭解Android處理活動的方式。當您按下'home'按鈕時,您的Alert被認爲仍然是alive,但它處於pause模式。所以,當你長時間按下時,它會被切換回來,只是resume你以前的頂級活動,在這種情況下是Alert

因此,您可能會考慮在您的事件Alert中告訴Android結束活動,而不是暫停。

+0

謝謝。我應該打電話來結束它? 'finish()'不起作用。 – 2010-11-17 11:08:42

+0

完成()應該工作。請發佈您的代碼。 – 2010-11-17 23:06:05

+0

好吧,也許完成()不工作,因爲我也用於我的其他活動。這是否是原因?如果是這樣,在那種情況下,我如何才能使它起作用? – 2010-11-18 05:46:25

相關問題