UWP怎么双击后退按钮完全退出应用

依****Y UID.557622
2015-10-25 发表

本帖最后由 依然DLY 于 2015-10-25 20:03 编辑

UWP怎么双击后退按钮完全退出应用?代码怎么实现

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
qi****ye UID.1203665
2015-10-25 回复

长按返回,叉掉。

wkyong UID.1197322
2015-10-25 回复

就是双击后退键退出应用

永远的NO.1 UID.343015
2015-10-25 使用 Lumia 1520 回复

有些有这个功能,比如智机社区,如果没有只好进入多任务关闭或者等它被后打开的应用挤掉

乱刀斩快麻 UID.876470
2015-10-25 回复

楼主应该问的是代码怎么写吧

依****Y UID.557622
2015-10-25 回复

这个区肯定是问怎么开发呀

御轮回 UID.1048052
2015-10-25 使用 Lumia 1520 回复

不清楚Win开发。。。

li331088216 UID.1000497
2015-10-25 使用 Lumia 830 回复

小白飘过…帮楼主顶下!

xu297790350 UID.1045253
2015-10-25 使用 Lumia 640 XL 回复

一般不用推出应用,系统自动管理内存。

闹****闹 UID.1153426
2015-10-25 使用 Lumia 920 回复

不用退出,后台会挂起,苹果也是这样的,不要拿wp当安卓用。

h82****652 UID.880817
2015-10-25 回复

desktop 上这个功能就不用做了吧。
这里我说 mobile 的思路。
注册后退键事件,然后使用一个字段(例如int)来记录后退键按下的次数。
当达到指定次数时(你这里就是两次),调用Application.Current.Exit()来退出程序。
如果要连续双击的话,那么可以在计数的时候添加一个计时器。具体时间看你需要了。

hua****gye UID.1152451
2015-10-25 回复

各位看题目好么,人家是问开发代码怎么写

高勇2507270394 UID.891337
2015-10-25 使用 Lumia 930 回复

本帖最后由 高勇2507270394 于 2015-10-25 22:05 编辑

百度wp8.1双击退出,,实现方法应该一样吧,本人小白,

bool isExit = false;

// 构造函数
public MainPage()
{
InitializeComponent();
isExit = false;
// 用于本地化 ApplicationBar 的示例代码
//BuildLocalizedApplicationBar();
}

protected override void OnBackKeyPress(CancelEventArgs e)
{
if (!isExit)
{
isExit = true;
var toast = new ToastPrompt {Message = "再按一次退出程序"};
toast.Completed += (o, ex) => { isExit = false; };
toast.Show();
e.Cancel = true;
}
else
{
NavigationService.RemoveBackEntry();
}
}


需要引用Coding4Fun.Toolkit.Controls:https://coding4fun.codeplex.com/


百度结果。。希望能帮到你

MICHAEL~EDDY UID.934116
2015-10-25 使用 Lumia 640 回复

Quote高勇2507270394 发表于 2015-10-25 22:04
百度wp8.1双击退出,,实现方法应该一样吧,本人小白,

bool isExit = false;


的确,这个方法是最简单的,但是有一个问题,如果从其他页面切换到主界面,有概率会导致isexit的值发生改变,所以在窗口加载后即loaded事件进行重新赋值(初始值)

高勇2507270394 UID.891337
2015-10-25 回复

QuoteMICHAEL~EDDY 发表于 2015-10-25 22:39
的确,这个方法是最简单的,但是有一个问题,如果从其他页面切换到主界面,有概率会导致isexit的值发生改 ...


晕。。我根本就不会。你自己百度一下,,

MICHAEL~EDDY UID.934116
2015-10-25 使用 Lumia 640 回复

Quote高勇2507270394 发表于 2015-10-25 22:50
晕。。我根本就不会。你自己百度一下,,


我以为你也是开发者。。。

h82****652 UID.880817
2015-10-25 回复

Quote***链接停止解析***
我以为你也是开发者。。。


他这个也只是SL的代码吧,RT里肯定不是override的,而且我觉得楼主也应该是问RT的。

MICHAEL~EDDY UID.934116
2015-10-25 使用 Lumia 640 回复

Quoteh82258652 发表于 2015-10-25 23:29
他这个也只是SL的代码吧,RT里肯定不是override的,而且我觉得楼主也应该是问RT的。 ...


注册后退按钮时间也可以实现啊

高勇2507270394 UID.891337
2015-10-25 使用 Lumia 930 回复

QuoteMICHAEL~EDDY 发表于 2015-10-25 23:21
我以为你也是开发者。。。


正在往这个方向发展☺

MICHAEL~EDDY UID.934116
2015-10-26 使用 Lumia 640 回复

Quote高勇2507270394 发表于 2015-10-25 23:36
正在往这个方向发展☺


那就好啊,不懂的多多提问

tmp00000 UID.995403
2015-10-26 回复

用计时器。按一次后启动计时器,下次再按如果计时器还没执行回调就退出应用。

vbfool UID.352791
2015-10-27 回复

[mw_shl_code=csharp,true] public MainPage()
{
this.InitializeComponent();
var m = SystemNavigationManager.GetForCurrentView();
m.AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
m.BackRequested += M_BackRequested;
}

private void M_BackRequested(object sender, BackRequestedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame == null)
return;

// Navigate back if possible, and if the event has not
// already been handled .
if (rootFrame.CanGoBack && e.Handled == false)
{
e.Handled = true;
rootFrame.GoBack();
}
else if (!rootFrame.CanGoBack && e.Handled == false)
{
if (b)
{
App.Current.Exit();
}
else
{
b = true;
Task.Run(async () =>
{
await Task.Delay(1500);
b = false;
});
}

}
}
bool b = false;[/mw_shl_code]

刚刚写的,测试过有效。

hanhaifeichen UID.1164102
2016-01-24 回复

Quote***链接停止解析***
[mw_shl_code=csharp,true] public MainPage()
{
this.InitializeComponent();


为什么一按返回就直接退出了

wan****112 UID.508361
2016-02-22 使用 Lumia 925 回复

计时器?

a1****82 UID.1294652
2016-03-04 使用 Lumia 1520 回复

Quote闹钟别闹 发表于 2015-10-25 20:44
不用退出,后台会挂起,苹果也是这样的,不要拿wp当安卓用。


会耗电的

xx****st UID.1130055
2016-03-13 使用 Lumia 830 回复

上面的代码加上e.handled=true就ok了,自己多测试 才能理解

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报