IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
Được dùng để tạo một phiên cài đặt gói gia tăng trong đó các khối của APK đã cài đặt được truyền trực tuyến đến thiết bị khi cần đọc.
Tính năng cài đặt gia tăng sử dụng Hệ thống tệp gia tăng (IncFs) để cho phép quá trình cài đặt hoàn tất trước khi toàn bộ APK được truyền trực tuyến đến thiết bị. Bạn có thể dùng lớp này để bắt đầu một quy trình cài đặt gia tăng, kiểm soát những khối APK được phép truyền trực tuyến đến thiết bị và chờ cho đến khi quá trình cài đặt APK hoàn tất và/hoặc cho đến khi tất cả các khối được truyền trực tuyến đến thiết bị.
Kết nối với thiết bị vẫn mở cho đến khi phiên đóng, quá trình cài đặt không thành công, kết nối thiết bị hết thời gian chờ hoặc xảy ra một ngoại lệ trong khi xử lý các yêu cầu chặn từ thiết bị.
Ví dụ về cách sử dụng lớp này:
{@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);
}Tóm tắt
Các lớp lồng ghép | |
|---|---|
class |
IncrementalInstallSession.Builder
|
Phương thức công khai | |
|---|---|
void
|
close()
Huỷ giao tiếp với thiết bị. |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
Bắt đầu phiên cài đặt truyền trực tuyến. |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
Chặn luồng hiện tại cho đến khi dữ liệu APK được truyền trực tuyến đến thiết bị hoặc quá trình cài đặt hoàn tất. |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
Chặn luồng hiện tại cho đến khi tất cả các APK được cài đặt thành công. |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
Chặn luồng hiện tại cho đến khi tất cả dữ liệu APK được truyền trực tuyến đến thiết bị. |
Phương thức công khai
đóng
public void close ()
Huỷ giao tiếp với thiết bị.
start
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
Bắt đầu phiên cài đặt truyền trực tuyến.
| Tham số | |
|---|---|
executor |
Executor: trình thực thi để bắt đầu xử lý các yêu cầu chặn từ thiết bị |
conFactory |
IDeviceConnection.Factory: nhà máy kết nối thiết bị |
| Giá trị trả về | |
|---|---|
IncrementalInstallSession |
|
| Gửi | |
|---|---|
|
nếu xảy ra lỗi khi giao tiếp với thiết bị |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)Chặn luồng hiện tại cho đến khi dữ liệu APK được truyền trực tuyến đến thiết bị hoặc quá trình cài đặt hoàn tất.
| Tham số | |
|---|---|
timeout |
long: khoảng thời gian chờ tối đa. Giá trị 0 sẽ khiến phương thức này đợi vô thời hạn. |
units |
TimeUnit: đơn vị cho timeout khác 0 |
| Gửi | |
|---|---|
|
nếu thời gian chờ hết, không cài đặt được APK hoặc xảy ra một ngoại lệ trong khi xử lý các yêu cầu chặn. |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)Chặn luồng hiện tại cho đến khi tất cả các APK được cài đặt thành công. Quá trình phân phát dữ liệu có thể hoàn tất trước hoặc sau khi quá trình cài đặt thành công.
| Tham số | |
|---|---|
timeout |
long: khoảng thời gian tối đa để chờ quá trình cài đặt hoàn tất. Giá trị 0 sẽ khiến phương thức này đợi vô thời hạn. |
units |
TimeUnit: đơn vị cho timeout khác 0 |
| Gửi | |
|---|---|
|
nếu thời gian chờ hết, không cài đặt được APK hoặc xảy ra một ngoại lệ trong khi xử lý các yêu cầu chặn. |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)Chặn luồng hiện tại cho đến khi tất cả dữ liệu APK được truyền trực tuyến đến thiết bị. Quá trình cài đặt có thể hoàn tất trước hoặc sau khi quá trình phân phát hoàn tất.
| Tham số | |
|---|---|
timeout |
long: khoảng thời gian tối đa để chờ quá trình phân phát hoàn tất. Giá trị 0 sẽ khiến phương thức này đợi vô thời hạn. |
units |
TimeUnit: đơn vị cho timeout khác 0 |
| Gửi | |
|---|---|
|
nếu hết thời gian chờ, không truyền trực tuyến được tệp APK hoặc xảy ra ngoại lệ trong khi xử lý các yêu cầu chặn. |