Windows Phoneのタスクスイッチャーからアプリを削除する方法
-
21-12-2019 - |
質問
Mainpageと3つのセカンダリページからなるユニバーサルWindows Phoneアプリ(空白のアプリテンプレートから開始)。これらのうちのナビゲーションは、予想通り(部分的に
っての問題は、メインページのときに、ユーザーがハードウェアバックボタンを押すと、私のアプリがバックグラウンドに入れられますが、私のアプリのカードはタスクスイッチャーに残ります。デバッガが接続されているかどうかにかかわらず、これが起こります。
Pivot App(WP)テンプレートに基づく新しいプロジェクトでこれを試してみましたが、同じ問題が表示されます。
ユーザーがメインページから戻ってきたときに「閉じる」と「閉じる」とタスク切替え者にはもうありません。手動でやっている必要があるものはありますか?
解決
Application.current.exit()を使ってアプリを終了できます。下のハードウェアBUTTONS_BACKPRESS機能。
public MainPage()
{
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
/* When you don't know the namespace you can use this code instead of the lower
string[] Namespace = Frame.CurrentSourcePageType.FullName.Split('.');
if (!e.Handled && Frame.CurrentSourcePageType.FullName == Namespace[0] + ".MainPage")
Application.Current.Exit();
*/
if (!e.Handled && Frame.CurrentSourcePageType.FullName == "NAMESPACE.MainPage")
Application.Current.Exit();
}
.
私はこれがうまくいくことを願っています
クリスチャン
他のヒント
これは私がそれを実装した方法で、user2799780とromaszからのポインタを使って、私は2倍の(国連)登録していないことを確信しています。それは常にナビゲーションごとにナビゲートするのかによって異なります、私は推測します。
編集:私は思い出されました(コメントを参照)中断されたときに、アプリはonnavigatedfromイベントを受信すると、onnavigatedイベントが表示されず、ハンドラが登録されないことがわかりません。その場合以下の実施は、このバグの影響を受けています。
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
// When we're on this page, pressing Back should close the app
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
protected override async void OnNavigatedFrom(NavigationEventArgs e)
{
// When we leave this page, pressing Back should no longer close the app
Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
}
private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
if (!e.Handled)
{
Application.Current.Exit();
}
}
. 所属していません StackOverflow