AppExtensionCatalog.PackageStatusChanged 事件

定义

删除、更新或安装目录中的扩展包时触发的事件。

// Register
event_token PackageStatusChanged(TypedEventHandler<AppExtensionCatalog, AppExtensionPackageStatusChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void PackageStatusChanged(event_token const* cookie) const;

// Revoke with event_revoker
AppExtensionCatalog::PackageStatusChanged_revoker PackageStatusChanged(auto_revoke_t, TypedEventHandler<AppExtensionCatalog, AppExtensionPackageStatusChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<AppExtensionCatalog,AppExtensionPackageStatusChangedEventArgs> PackageStatusChanged;
function onPackageStatusChanged(eventArgs) { /* Your code */ }
appExtensionCatalog.addEventListener("packagestatuschanged", onPackageStatusChanged);
appExtensionCatalog.removeEventListener("packagestatuschanged", onPackageStatusChanged);
- or -
appExtensionCatalog.onpackagestatuschanged = onPackageStatusChanged;
Public Custom Event PackageStatusChanged As TypedEventHandler(Of AppExtensionCatalog, AppExtensionPackageStatusChangedEventArgs) 

事件类型

注解

此事件可帮助你确定包何时不再可用、有效或已修改。 处理此事件以确定扩展何时可能不再有效且应禁用。 此事件的常见用途是检测是否在可移动媒体上安装提供扩展的应用包。 如果用户删除包含包的媒体,则会为该包引发此事件。

PackageStatus 类提供可能的包状态。 使用 PackageStatus.VerifyIsOk 确定包是否处于良好状态。 如果返回 false,则可以检查 PackageStatus.LicenseIssuePackageStatus.PackageOffline,并为这些情况提供特殊处理。 通常,如果包状态不正常,则应禁用它。 最好在即将加载扩展时调用 PackageStatus.VerifyIsOk

请考虑处理此事件,以在扩展管理器 UI 中提供一个指示,指出扩展已禁用或不可用,因为包存在问题。

继续处理此事件,即使已确定包存在问题,因为用户可能会更新包,然后加载它可能正常。

PackageUpdatingPackageUninstalling 一样,此事件仅传递状态已更改的 。 由你决定将 与已加载的 AppExtension 相匹配 ,以确定哪些扩展受状态更改的影响。

适用于