在 Android 中,onConfigurationChanged 方法用于處理設備配置變化,例如屏幕方向、鍵盤可用性等。當設備的存儲發生變化時,也可以觸發此方法。要處理存儲變化,您需要在 AndroidManifest.xml 文件中聲明 configChanges 屬性,然后在 Activity 中重寫 onConfigurationChanged 方法。
以下是如何處理存儲變化的步驟:
AndroidManifest.xml 文件中為您的 Activity 添加 configChanges 屬性:<activity
android:name=".YourActivity"
android:configChanges="storage">
</activity>
這將告訴系統,當設備的存儲發生變化時,不要重啟 Activity,而是調用 onConfigurationChanged 方法。
onConfigurationChanged 方法:@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 檢查存儲變化
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// 處理橫屏布局變化
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
// 處理豎屏布局變化
}
// 檢查存儲空間
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
// 存儲空間可用
} else {
// 存儲空間不可用
}
}
在 onConfigurationChanged 方法中,您可以檢查設備的方向和存儲空間,并根據需要執行相應的操作。請注意,這種方法可能會導致某些設備上的存儲變化無法正確處理,因此建議在實際設備上進行充分測試。