Ứng dụng UWP chạy trên máy tính để bàn có thể được đóng từ nút X trên cùng nhưng không có bất kỳ sự kiện nào cho nó. Được biết, trên điện thoại và máy tính bảng, ứng dụng phải dựa trên sự kiện Suspending
, bất kể nó được kích hoạt như thế nào và ứng dụng sẽ dựa trên ApplicationExecutionState
.UWP trên máy tính để bàn đóng bởi nút X trên cùng - không có sự kiện
Tuy nhiên, đây là một trường hợp phổ biến (có thể): trên điện thoại Suspending
sự kiện đủ và trong trường hợp cuộc gọi Voip đang diễn ra, hệ điều hành sẽ được vận hành sau khi ứng dụng bị tạm ngưng. Trên máy tính để bàn, nút đóng được người dùng mong đợi đóng hoàn toàn ứng dụng. Vì vậy, nếu một cuộc gọi đang diễn ra, nó sẽ bị treo cổ và một số tài nguyên nhất định sẽ được giải phóng.
Làm cách nào để biết khi nào người dùng nhấp vào nút "đóng" nếu (và chỉ khi) ứng dụng UWP đang chạy trên máy tính để bàn?
Nhưng sự kiện 'VisibilityChanged' sẽ được kích hoạt khi HĐH cũng đóng ứng dụng. Vì vậy, không có sự khác biệt giữa đóng cửa hệ điều hành và người dùng đóng. – tomab
Có, HĐH cũng có thể đóng ứng dụng, nhưng nó thực hiện như vậy khi cần tài nguyên miễn phí, đây có thể là một trường hợp khá hiếm hoi trong máy tính để bàn. Dù sao, như tôi đã chỉ ra trước đây - nó xuất hiện không có cách rõ ràng để xác định khi ứng dụng được đóng bởi người dùng. –
Vì vậy, chúng tôi có thể * đoán * ứng dụng đã bị đóng nếu chúng tôi nhận được 'VisibilityChanged' theo sau sự kiện 'Suspending'. Điều này có thể không xảy ra tự nhiên nếu người dùng giảm thiểu ứng dụng và sau đó Windows quyết định tạm ngưng ứng dụng của chúng tôi? Sau đó, chúng tôi sẽ không chính xác * đoán * ứng dụng đang đóng, khi người dùng sau đó có thể tối đa hóa và tiếp tục? – Felix