2011-08-28 49 views
2

我試圖阻止我的應用程序從用戶翻轉屏幕時重置。我真的不想永久性地將其設置爲肖像。Android屏幕方向數據丟失預防

我的問題是我有擦除的設置和每次屏幕翻轉時停止的服務。無論屏幕方向如何,我都想保持原樣。

+1

當你翻轉手機在你的活動被重新創建。我們需要更多信息來幫助您 - 您是否使用標準的Android偏好和推薦的服務範例http://developer.android.com/reference/android/app/Service.html?或者你是否使用了一些自定義的「服務」和偏好商店? – debracey

+0

我正在使用標準服務。首選項不是我目前使用的,因爲我不知道如何使用它來告訴服務即使在重新創建活動時也能繼續運行 – sisko

回答

3

在你AndroidManifest你的活動,設置如下:

<activity android:name="YourActivity" android:configChanges="orientation|keyboardHidden"></activity> 

這告訴你的活動不屏幕方向變化或鍵盤改變狀態「再製造」本身

1

您可以保存數據使用:

@Override 
public Object onRetainNonConfigurationInstance() { 
    return super.onRetainNonConfigurationInstance(); 
} 

返回您要保存的數據。

onCreate功能,您可以檢查是否有通過執行以下

保存任何數據
final Object data = (Object) getLastNonConfigurationInstance()); 
    if (data == null) { 
     //Retrieve data 
    }else{ 
     //Use the saved data 
     settings = data; 
     } 

您可以在Android開發人員指南瞭解​​: