`
happmaoo
  • 浏览: 4475245 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[JavaME]解决来电问题(Incoming Call)

阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>

比如你的游戏正在进行中,却突然一个电话,那么你能保证你的游戏不死机吗?
解决来电问题,唯一需要做的就是重载Canvas的hideNotify()方法。

just like this:

booleangameIsPaused;

protectedvoidshowNotify(){gameIsPaused=false;
}


protectedvoidhideNotify(){
gameIsPaused
=true;
}


privatevoidtheMainGameLoop(){
while(gameIsRunning){
if(!gameIsPaused){
//processeventsandupdatethescreen
}

}

}


不过,正像下面的帖子中谈到的,Nokia 7650机型的问题是无法克服的,当你接电话时关闭了游戏,那么电话打完后你也无法启动游戏了,除非重启手机。

可供参考的帖子:
http://forum.java.sun.com/thread.jspa?forumID=76&threadID=581789
http://forum.java.sun.com/thread.jspa?forumID=76&threadID=376907

参考的资料《Nokia 中的暂停功能》:
实际上,当MIDlet 隐藏时,它总是处于暂停状态。这在游戏应用软件中尤其重要,因为,如果在游
戏被隐藏时没有立刻暂停,游戏者可能会输掉游戏。
可以用类Displayable 的方法isShown()或者类Canvas 或CustomItem 的方法 hideNotify() 来暂停MIDlet。
在Canvas 对象离开显示屏后,方法hideNotify()将被立刻调用。在方法hideNotify()中创建
一个自动暂停机制,用来暂停线程、关闭计时器、保存重要数值等。参见下面的代码范例:
protected void hideNotify()
{
//执行暂停时的操作
remainingTime = endTime – System.currentTimeMillis();
myThread.stop();
autoPaused = true;
repaint();
// Include a pause test in paint() method to check if paused
// paint a pause message on screen if autoPaused true
}
protected void paint(Graphics g)
{
// paint game screen here
if (autoPaused == true) {
// paint pause message
}
}
暂停之后的操作是继续,故需要把Continue 选项显示给用户。




分享到:
评论

相关推荐

    ppc incoming call view

    如何去修改菜单ignore?

    PI NODE,有些节点没有Incoming connections的解决方案.pdf

    这个问题其实在共识容器出现就存在了,现在PI NODE更新了0.4版,可以直接看到节点的运行状态,因此有些NODER才发现这个问题。关于这个问题,我之前在群里说过只有OUT没有IN代表是个瘸腿节点,并不能为其他节点提供...

    EndCall.zip

    在Android系统中,挂断电话是一项基本功能,通常涉及到处理来电和通话状态的管理。"EndCall.zip"可能包含一个示例项目,演示了如何在Android应用中实现挂断电话的功能。下面将详细讲解实现这一功能所涉及的技术点、...

    how to block call in CUCM

    call-block translation-profile incoming call_blocktranslated incoming called-number .direct-inward-dial port 0/0/0:23 ``` 4. **测试翻译规则**:为了确保规则生效,您可以使用以下命令测试翻译规则: ...

    Ruby-Incoming帮助你在Rackapps接收电子邮件

    3. **错误处理**:当处理邮件过程中遇到问题时,Incoming提供了优雅的错误处理机制,可以帮助开发者识别和修复问题,避免因为邮件处理错误导致整个应用程序崩溃。 4. **自定义处理逻辑**:开发者可以根据业务需求...

    来电获取来电号码

    挂断来电需谨慎,因为它需要`CALL_PRIVILEGED`权限,通常只有系统应用才能获得。 对于未接来电,由于Android系统并不会发送广播来告知应用未接来电的信息,所以我们需要通过定期查询CallLog来获取。在服务(Service...

    Android有未接来电后处理(判断未接来电).zip

    在CALL_STATE_IDLE状态下,我们需要判断之前的状态是否为RINGING,如果是,则表示有一个未接来电。 4. **处理未接来电** 在handleMissedCall方法中,你可以执行各种操作来处理未接来电,如将来电号码保存到数据库...

    Skype4Java开发文档以及示例代码

    public void incomingCall(Call call) { System.out.println("有来电: " + call.getPartnerHandle()); call.hangup(); // 挂断来电 } }); ``` ### 4. 注意事项 - 必须确保Skype客户端已登录并且运行在与Java...

    Android程序研发源码Android 来电拦截及拦截后的提示音源码.zip

    1. 权限申请:在AndroidManifest.xml文件中,你需要声明`&lt;uses-permission&gt;`标签来请求拦截来电所需的权限,如`READ_PHONE_STATE`和`CALL_PHONE`。 ```xml &lt;uses-permission android:name="android.permission....

    拦截来电自动回复

    在CALL_STATE_RINGING状态下,我们可以获取到来电号码`incomingNumber`,然后启动一个服务或者异步任务来处理自动回复。为了不阻塞主线程,通常我们会选择在后台线程执行回复操作。 接下来,我们需要创建一个发送...

    Android ApiDemos示例解析(26):App->Notification->IncomingMessage

    通过`ApiDemos`中的`IncomingMessage`示例,开发者可以学习到如何在Android应用中创建、管理和定制通知,提高用户体验,并理解如何适应不同Android版本的兼容性问题。对于想要深入理解Android通知机制的开发者来说,...

    Android来电接听或挂断界面源码

    2. **来电显示通知(Incoming Call Notification)** - 当有电话接入时,系统会发出一个通知。你需要创建一个自定义的通知,展示接听和挂断按钮,并实现滑动接听和滑动挂断的功能。 3. **触摸事件处理(Touch Event ...

    Android有未接来电后处理(判断未接来电)

    在Android系统中,处理未接来电通常涉及到监听电话状态的变化,并根据特定的电话状态进行相应的操作。这个过程可以通过注册一个电话状态监听器(TelephonyManager的PhoneStateListener)来实现。下面将详细介绍如何...

    IntelliJ IDEA同步代码时版本冲突而产生出的incoming partial文件问题的解决办法

    今天小编就为大家分享一篇关于IntelliJ IDEA同步代码时版本冲突而产生出的incoming partial文件问题的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    android之Call应用[归类].pdf

    Call有九种状态,包括IDLE(空闲)、ACTIVE(活动)、HOLDING(保持)、DIALING(拨号)、ALERTING(振铃)、INCOMING(来电)、WAITING(等待)、DISCONNECTED(已断开)和DISCONNECTING(正在断开)。对Call的处理...

    安卓Android源码——Android有未接来电后处理(判断未接来电).zip

    在安卓(Android)系统中,处理未接来电是一项常见的任务,尤其对于开发者来说,了解如何在应用程序中检测和处理未接来电是至关重要的。本文将深入探讨如何在Android源码中实现这一功能,并通过分析提供的代码来理解...

    Android代码-来电拦截及拦截后的提示音源码.zip

    在Android中,来电拦截需要`READ_PHONE_STATE`和`CALL_PHONE`权限。`READ_PHONE_STATE`允许应用读取电话的状态,如来电、去电或正在通话等;而`CALL_PHONE`权限则允许应用直接拨打电话。在AndroidManifest.xml中,...

    WM所有平台来电消息处理

    这个回调函数可能是`onIncomingCall()`,它会接收到关于来电的信息,如来电号码、呼叫状态等。 接听电话通常由`answerCall()`函数实现,该函数通过TAPI接口发送一个命令来接听来电。而挂断电话则可以通过`...

Global site tag (gtag.js) - Google Analytics