IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
ใช้เพื่อสร้างเซสชันการติดตั้งแพ็กเกจแบบเพิ่มทีละรายการ ซึ่งจะสตรีมบล็อกของ APK ที่ติดตั้งไปยังอุปกรณ์เมื่อต้องอ่าน
การติดตั้งทีละรายการใช้ระบบไฟล์แบบเพิ่ม (IncFs) เพื่ออนุญาตให้ติดตั้งจนเสร็จก่อนที่จะสตรีม APK ทั้งหมดไปยังอุปกรณ์ คลาสนี้ใช้เพื่อเริ่ม การติดตั้งแบบเพิ่มทีละรายการ ควบคุมบล็อกของ APK ที่อนุญาตให้สตรีมไปยัง อุปกรณ์ และรอจนกว่าการติดตั้ง APK จะเสร็จสมบูรณ์และ/หรือจนกว่าจะสตรีมบล็อกทั้งหมดไปยัง อุปกรณ์
การเชื่อมต่อกับอุปกรณ์จะเปิดอยู่จนกว่าเซสชันจะปิด การติดตั้งล้มเหลว การเชื่อมต่ออุปกรณ์หมดเวลา หรือเกิดข้อยกเว้นขณะประมวลผลคำขอบล็อกจากอุปกรณ์
ตัวอย่างการใช้คลาสนี้มีดังนี้
{@code try (IncrementalInstallSession session = new IncrementalInstallSession.Builder()
.addApk(mTestApk0, mTestSignature0)
.build()) {
// Start the session on a separate thread.
session.start(Executors.newCachedThreadPool(), mockDevice.getFactory());
// Wait a maximum of 45 seconds for the install to finish.
session.waitForInstallCompleted(45, TimeUnit.SECONDS);
}สรุป
คลาสเรียนที่ซ้อนกัน | |
|---|---|
class |
IncrementalInstallSession.Builder
|
เมธอดสาธารณะ | |
|---|---|
void
|
close()
ยกเลิกการสื่อสารกับอุปกรณ์ |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
เริ่มเซสชันการติดตั้งสตรีมมิง |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
บล็อกเธรดปัจจุบันจนกว่าจะมีการสตรีมข้อมูล APK ไปยังอุปกรณ์หรือการติดตั้งเสร็จสิ้น |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
บล็อกเธรดปัจจุบันจนกว่าจะติดตั้ง APK ทั้งหมดสำเร็จ |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
บล็อกเธรดปัจจุบันจนกว่าจะสตรีมข้อมูล APK ทั้งหมดไปยังอุปกรณ์ |
เมธอดสาธารณะ
ปิด
public void close ()
ยกเลิกการสื่อสารกับอุปกรณ์
เริ่มต้น
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
เริ่มเซสชันการติดตั้งสตรีมมิง
| พารามิเตอร์ | |
|---|---|
executor |
Executor: ตัวดำเนินการที่จะเริ่มจัดการคำขอบล็อกจากอุปกรณ์ |
conFactory |
IDeviceConnection.Factory: โรงงานการเชื่อมต่ออุปกรณ์ |
| คิกรีเทิร์น | |
|---|---|
IncrementalInstallSession |
|
| การขว้าง | |
|---|---|
|
หากเกิดข้อผิดพลาดขณะสื่อสารกับอุปกรณ์ |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)บล็อกเธรดปัจจุบันจนกว่าจะมีการสตรีมข้อมูล APK ไปยังอุปกรณ์หรือการติดตั้งเสร็จสิ้น
| พารามิเตอร์ | |
|---|---|
timeout |
long: ระยะเวลารอสูงสุด ค่า 0 จะทำให้เมธอดนี้
รออย่างไม่มีกำหนด |
units |
TimeUnit: หน่วยสำหรับ timeout ที่ไม่ใช่ 0 |
| การขว้าง | |
|---|---|
|
หากรอจนหมดเวลา ติดตั้ง APK ไม่สำเร็จ หรือเกิดข้อยกเว้น ขณะจัดการคำขอบล็อก |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)บล็อกเธรดปัจจุบันจนกว่าจะติดตั้ง APK ทั้งหมดสำเร็จ การแสดงข้อมูลอาจเสร็จสิ้นก่อนหรือหลังจากติดตั้งสำเร็จ
| พารามิเตอร์ | |
|---|---|
timeout |
long: ระยะเวลารอสูงสุดจนกว่าการติดตั้งจะเสร็จสิ้น ค่า 0
จะทำให้เมธอดนี้รออย่างไม่มีกำหนด |
units |
TimeUnit: หน่วยสำหรับ timeout ที่ไม่ใช่ 0 |
| การขว้าง | |
|---|---|
|
หากรอจนหมดเวลา ติดตั้ง APK ไม่สำเร็จ หรือเกิดข้อยกเว้น ขณะจัดการคำขอบล็อก |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)บล็อกเธรดปัจจุบันจนกว่าจะสตรีมข้อมูล APK ทั้งหมดไปยังอุปกรณ์ การติดตั้ง อาจเสร็จสมบูรณ์ก่อนหรือหลังการแสดงโฆษณา
| พารามิเตอร์ | |
|---|---|
timeout |
long: ระยะเวลารอสูงสุดจนกว่าการแสดงจะเสร็จสิ้น ค่า 0 จะ
ทำให้เมธอดนี้รออย่างไม่มีกำหนด |
units |
TimeUnit: หน่วยสำหรับ timeout ที่ไม่ใช่ 0 |
| การขว้าง | |
|---|---|
|
หากรอจนหมดเวลา สตรีม APK ไม่สำเร็จ หรือเกิดข้อยกเว้น ขณะจัดการคำขอบล็อก |