1
我的應用程序需要有保證的時間才能在卸載SD卡之前在SD卡上完成一些IO。我的解決方案是編寫一個linux內核模塊,在umount系統調用周圍插入一個包裝,這會延遲實際卸載並回電完成我的工作。如何在Android上延遲SD卡的卸載以完成我自己的文件io
我的代碼可能有根特權組件。
任何阻礙性較小的解決方案?
我的應用程序需要有保證的時間才能在卸載SD卡之前在SD卡上完成一些IO。我的解決方案是編寫一個linux內核模塊,在umount系統調用周圍插入一個包裝,這會延遲實際卸載並回電完成我的工作。如何在Android上延遲SD卡的卸載以完成我自己的文件io
我的代碼可能有根特權組件。
任何阻礙性較小的解決方案?
儘管我無法保證,但我相信umount會自動等待。這是使用umount(而不是直接刪除sdcard)的原因之一。
此外,你不能«寫一個Linux內核模塊»和「安裝」到Android設備。你需要做的事情包括重新編譯android,製作一個自定義ROM並將其安裝到所需的設備上。每個設備都需要一個不同的ROM等,我不認爲這是你想象得到的。
無論如何,umount應該等待任何IO操作完成(也許有一個超時)。如果您需要發送多個文件以及如何確保所有文件都將被寫入,我沒有看到解決方案。
它不應該讓你卸載當前正在訪問的驅動器。你在做什麼需要這麼長時間? – Falmarri 2011-01-19 21:51:52
我提供了一個特殊用途的文件系統(Android以外,但具有用戶權限),並有一些數據緩衝。我不認爲只是有一些打開的文件描述符會阻止umount。這樣任何用戶應用程序都可以阻止系統調用。 – 2011-01-19 21:58:41