語言

PackageInstaller.Session.OpenWrite(String, Int64, Int64) 方法

定義

開啟串流,將 APK 檔案寫入會話中。

[Android.Runtime.Register("openWrite", "(Ljava/lang/String;JJ)Ljava/io/OutputStream;", "GetOpenWrite_Ljava_lang_String_JJHandler")]
public virtual System.IO.Stream OpenWrite(string name, long offsetBytes, long lengthBytes);
[<Android.Runtime.Register("openWrite", "(Ljava/lang/String;JJ)Ljava/io/OutputStream;", "GetOpenWrite_Ljava_lang_String_JJHandler")>]
abstract member OpenWrite : string * int64 * int64 -> System.IO.Stream
override this.OpenWrite : string * int64 * int64 -> System.IO.Stream

參數

name
String

用你選擇的任意且唯一的名字來識別正在撰寫的 APK。 你可以用同一個名稱重新開啟檔案進行額外寫入(例如重啟後)。 這個名稱僅在單一安裝時才有意義。

offsetBytes
Int64

將偏移移入檔案以開始寫入,或以 0 從檔案開頭開始。

lengthBytes
Int64

寫入檔案的總大小,用於預先配置底層磁碟空間,若未知則 -1。 系統可依需求清除各種快取以分配此空間。

傳回

屬性

備註

開啟串流,將 APK 檔案寫入會話中。

回傳的串流會在底層檔案中請求的偏移量開始寫入資料,該偏移量可用來恢復部分寫入的檔案。 若指定有效檔案長度,系統會預先配置底層磁碟空間以優化磁碟位置。 強烈建議在已知檔案長度時提供有效檔案長度。

你可以將資料寫入回傳的串流,必要時可呼叫 #fsync(OutputStream) 以確保位元組已持久化到磁碟,完成後關閉。 所有溪流必須關閉後才能呼叫 #commit(IntentSender)。

Java 文件 android.content.pm.PackageInstaller.Session.openWrite(java.lang.String, long, long)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於