Android ==>禁用多任务处理?
1-如何禁用多任务处理? 我的应用程序是一个基于套接字的游戏,每当我启动应用程序,它必须首先加载主页面以启动套接字连接? 我不希望用户能够在后台运行我的应用程序。 这可能吗?Android ==>禁用多任务处理?
2-我不希望用户能够使用后退按钮在页面之间进行导航,用户只能使用我的应用程序中可用的按钮进行导航?这可能吗?
您可以捕获后退按钮(并忽略它),但不能阻止Home按钮。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK)
{
return true;
}
...
记住,手机只是另一种应用程序,以便该OS设计防止恶意应用程序从禁用设备的“电话”的方面。
如果你想阻止应用程序在后台运行,您可以在onPause内关闭活动()方法:
@Override
protected void onPause()
{
super.onPause();
finish();
}
这将迫使你的应用程序从头开始,如果它放在出于任何原因进入背景。这可能会在手机进入睡眠状态时被调用,但是,它可能不是您正在寻找的确切行为。
非常感谢,很好的答案。 1问题:我在哪里写你提供的第二个代码?在每一个活动? – aryaxt 2010-08-14 01:03:21
onPause()代码需要进入任何不希望允许在后台运行的活动。正如Chinmay Kanchi所说的那样,你反对Android的理念,所以用这种方式设计你的应用将会非常困难。下面是更详细的解释什么时候生命周期函数被调用时:http://developer.android.com/guide/topics/fundamentals.html#actlife – 2010-08-14 01:11:10
1更多的东西:),我有一个服务(套接字)运行在背景。调用finish()是否也会终止服务? – aryaxt 2010-08-14 01:56:30
这只是糟糕的设计。您需要支持硬件按钮,并且您需要从被推入后台的过程中优雅地恢复。 AFAIK,这些都是Android的基本设计哲学...... – 2010-08-14 00:53:01
这不是真的。您不希望始终保持插座连接,导致电池死亡。当用户不活动时,客户机/服务器应用程序保持连接并不好,这只是浪费带宽,并会降低服务器的速度 – aryaxt 2010-08-14 01:00:06
1.什么鬼东西? 2.如果您的应用程序不作为服务运行。套接字在后台不会活着。你应该阅读一下android应用程序的生命周期。只有服务会在后台继续工作,所有其他应用程序都处于“睡眠”模式。除非我读错了。 3.您可以防止某人在浏览器中查看并回到游戏中,或者接听电话并返回游戏。 4.如果套接字处于活动状态,您应该尝试处理重新连接/测试。如果您将其作为服务运行,请添加“空闲超时”并根据请求重新连接。 – 2010-08-14 13:54:20