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)之前,所有流都必须关闭。

适用于 . 的 android.content.pm.PackageInstaller.Session.openWrite(java.lang.String, long, long)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于