語言

PackageInstaller 類別

定義

提供安裝、升級及移除裝置應用程式的功能。

[Android.Runtime.Register("android/content/pm/PackageInstaller", DoNotGenerateAcw=true)]
public class PackageInstaller : Java.Lang.Object
[<Android.Runtime.Register("android/content/pm/PackageInstaller", DoNotGenerateAcw=true)>]
type PackageInstaller = class
    inherit Object
繼承
PackageInstaller
屬性

備註

提供安裝、升級及移除裝置應用程式的功能。 這包括支援以單一「單一」APK 形式包裝的應用程式,或是以多個「分割」APK 形式包裝的應用程式。

應用程式會透過一個 PackageInstaller.Session,任何應用程式都能建立安裝。 建立會話後,安裝程式可以串流一個或多個 APK,直到決定要提交或銷毀該會話。 提交可能需要使用者介入以完成安裝,除非呼叫者屬於以下任一類別,此時安裝將自動完成。 <UL><Li>裝置擁有者 <Li>關聯設定擁有者 </ul>

Session可以安裝全新應用程式、升級現有應用程式,或在現有應用程式中新增分割功能。

以多個分割 APK 包裝的應用程式,總是包含一個「基礎」APK(帶有 null 分割名稱)和零個或多個「分割」APK(具有獨特分割名稱)。 只要符合以下條件,這些 APK 的任意子集都可以一起安裝: <ul><li>所有 APK 必須擁有完全相同的套件名稱、版本碼和簽署憑證。 <li>所有 APK 必須有獨特的分割名稱。 <li>所有設施必須包含單一基地 APK。 </ul>

ApiDemos 專案包含使用此 API 的範例: ApiDemos/src/com/example/android/apis/content/InstallApk*.java。

Java 文件 android.content.pm.PackageInstaller。

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

建構函式

名稱 Description
PackageInstaller(IntPtr, JniHandleOwnership)

用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。

欄位

名稱 Description
ActionSessionCommitted

廣播動作:當新安裝的會話提交時,明確地傳送到最後已知的預設啟動器。

ActionSessionDetails

活動動作:顯示特定安裝會話的詳細資訊。

ActionSessionUpdated

廣播動作:當階段安裝會話狀態更新時,傳送相關資訊。

DeveloperVerificationFailedReasonDeveloperBlocked
已淘汰.

開發者驗證失敗,因為開發者無法被驗證,驗證者透過以下方式回報 DeveloperVerificationSession#reportVerificationComplete(DeveloperVerificationStatus) 或 DeveloperVerificationSession#reportVerificationComplete( DeveloperVerificationStatus, PersistableBundle)

DeveloperVerificationFailedReasonNetworkUnavailable
已淘汰.

開發者驗證失敗,因為網路無法使用。

DeveloperVerificationFailedReasonUnknown
已淘汰.

開發者驗證失敗的原因不明,例如驗證器逾時或無法連線。

ExtraDeveloperVerificationExtensionResponse

一個額外內容,包含開發者驗證者對安裝程式提供的任何擴充參數所提供的回應。

ExtraDeveloperVerificationFailureReason

當安裝失敗,因為開發者驗證不完整或被阻擋時,這個額外內容會提供一個解釋原因的程式碼,例如 #DEVELOPER_VERIFICATION_FAILED_REASON_NETWORK_UNAVAILABLE。

ExtraDeveloperVerificationLitePerformed

額外內容包含一個布林值,顯示開發者驗證的輕量版是否已在待安裝的應用程式上執行。

ExtraInstallConstraints

InstallConstraints 物件。

ExtraInstallConstraintsResult

InstallConstraintsResult 物件。

ExtraOtherPackageName

另一個與狀態相關的包裹名稱。

ExtraPackageName

一個操作正在使用的套件名稱。

ExtraPreApproval

請說明狀態是否為預先核准申請。

ExtraSession

SessionInfo 而行動中正在處理的。

ExtraSessionId

一個整數的會話 ID,操作正在運作。

ExtraStatus

目前行動狀態。

ExtraStatusMessage

詳細的字串表示狀態,包括對除錯有用的原始細節。

ExtraStoragePath

與狀態相關的儲存路徑。

ExtraUnarchiveAllUsers

如果屬實,取消歸檔的請求者已指定該應用程式對所有使用者都應取消歸檔。

ExtraUnarchiveId

額外欄位是 unarchive ID。

ExtraUnarchivePackageName

額外欄位是用於要求取消封存的套件名稱。

ExtraUnarchiveStatus

未歸檔作業的現況。

PackageSourceDownloadedFile
已淘汰.

顯示安裝套件來自使用者下載到裝置的檔案的程式碼。

PackageSourceLocalFile
已淘汰.

程式碼顯示該套件來自裝置上的本地檔案。

PackageSourceOther
已淘汰.

程式碼顯示所安裝的套件來自一個來源,其他套件來源常數無法反映。

PackageSourceStore
已淘汰.

程式碼顯示安裝的套件來自商店。

PackageSourceUnspecified
已淘汰.

安裝程式沒有呼叫 PackageInstaller.SessionParams#setPackageSource(int) 指定套件來源。

StatusFailureTimeout
已淘汰.

操作失敗是因為它未在指定的逾時內完成。

UnarchivalErrorInstallerDisabled
已淘汰.

負責取消歸檔的安裝程式被停用了。

UnarchivalErrorInstallerUninstalled
已淘汰.

負責取消歸檔的安裝人員已被移除

UnarchivalErrorInsufficientStorage
已淘汰.

儲存空間不足以解除封存應用程式。

UnarchivalErrorNoConnectivity
已淘汰.

這台裝置沒有連接網路

UnarchivalErrorUserActionNeeded
已淘汰.

使用者需要與安裝程式互動才能啟用安裝。

UnarchivalGenericError
已淘汰.

通用錯誤:應用程式無法恢復歸檔。

UnarchivalOk
已淘汰.

非檔案化是可能的,且將開始。

屬性

名稱 Description
ActiveStagedSession

回傳第一個活躍分階段的會話,或 null 如果沒有會話。

ActiveStagedSessions

返回活躍分階段會話列表。

AllSessions

回傳所有已知安裝時段的清單,不論安裝程式為何。

Class

回傳此 Object的執行時類別。

(繼承來源 Object)
DeveloperVerificationServiceProvider

回傳開發驗證服務提供者的元件名稱,以便與特定驗證器在擴充參數及回應結構上互動。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
JniPeerMembers

提供安裝、升級及移除裝置應用程式的功能。

MySessions

回傳所有已知安裝會話清單,該應用程式擁有的已擁有。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
StagedSessions

回傳所有分階段安裝會話的清單。

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

方法

名稱 Description
AbandonSession(Int32)

完全放棄給定的會話,摧毀所有分階段資料並使其無效。

CheckInstallConstraints(IList<String>, PackageInstaller+InstallConstraints, IExecutor, IConsumer)

檢查給定套件是否符合安裝限制。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
CommitSessionAfterInstallConstraintsAreMet(Int32, IntentSender, PackageInstaller+InstallConstraints, Int64)

當所有約束條件都被滿足後,提交會話。

Construct(JniObjectReference, JniObjectReferenceOptions)

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
CreateSession(PackageInstaller+SessionParams)

使用給定參數建立一個新會話,並回傳代表該會話的唯一 ID。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
Equals(Object)

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetSessionInfo(Int32)

特定療程的退貨詳情。

InstallExistingPackage(String, InstallReason, IntentSender)

安裝裝置上已存在的套件,為該安裝程式所用的使用者安裝。

InstallPackageArchived(ArchivedPackageInfo, PackageInstaller+SessionParams, IntentSender)

安裝套件時會被歸檔。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
OpenSession(Int32)

開啟現有的工作階段來積極執行工作。

RegisterSessionCallback(PackageInstaller+SessionCallback, Handler)

註冊以關注會話生命週期事件。

RegisterSessionCallback(PackageInstaller+SessionCallback)

註冊以關注會話生命週期事件。

ReportUnarchivalState(PackageInstaller+UnarchivalState)

向系統報告未歸檔狀態。

ReportUnarchivalStatus(Int32, PackageInstallerUnarchival, Int64, PendingIntent)

向系統回報未歸檔狀態。

RequestArchive(String, IntentSender)

請求歸檔目前已安裝的套件。

RequestUnarchive(String, IntentSender)

請求解除目前已封存的套件。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
Uninstall(String, IntentSender)

卸載給的套件,完全從裝置中移除。

Uninstall(VersionedPackage, Int32, IntentSender)

用特定版本碼卸載給定的套件,完全從裝置中移除。

Uninstall(VersionedPackage, IntentSender)

用特定版本碼卸載給定的套件,完全從裝置中移除。

UninstallExistingPackage(String, IntentSender)

如果該安裝程式仍對裝置上其他使用者存在,請為該使用者移除該套件。

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
UnregisterSessionCallback(PackageInstaller+SessionCallback)

取消先前註冊的回撥。

UpdateSessionAppIcon(Int32, Bitmap)

更新代表該應用程式在特定工作階段安裝的圖示。

UpdateSessionAppLabel(Int32, ICharSequence)

更新代表該應用程式在特定工作階段安裝的標籤。

UpdateSessionAppLabel(Int32, String)

更新代表該應用程式在特定工作階段安裝的標籤。

Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
WaitForInstallConstraints(IList<String>, PackageInstaller+InstallConstraints, IntentSender, Int64)

類似於 checkInstallConstraints(List, InstallConstraints, Executor, Consumer),但回調僅在約束條件滿足或逾時後才被呼叫。

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

提供安裝、升級及移除裝置應用程式的功能。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

提供安裝、升級及移除裝置應用程式的功能。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於