网站大量收购独家精品文档,联系QQ:2885784924

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

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

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android有未接来电后处理(判断未接来电)

在Android的手机状态中没有未接来电的监听器,所以如果想当手机有未接来电后进行处理,这时候就需要自己对手机的状态判断是未接来电后再进行处理. 实现思路 :? 1,继承PhoneStateListener后,当手机的状态改变后将会触发onCallStateChanged.手机的状态分为CALL_STATE_RINGING(响铃中),CALL_STATE_IDLE(空闲),CALL_STATE_OFFHOOK(忙音). 2,记录上一次的手机状态,如果的手机现在的空闲,上次的状态响铃中的话,就可以判断是未接来电. 不足: 1,我现在的处理不能判断出是用户是否主动不接电话. 实现步骤: 1,编写CallListener,处理手机状态变更监听,当状态改变时进行处理。如果想知道如何在Android发送短信可以看我另一博文[Android中发送短信(sms)] package rbase.app.smshelpmate.call.listener; import java.text.MessageFormat; import rbase.app.smshelpmate.Config; import rbase.app.smshelpmate.R; import rbase.app.smshelpmate.call.enums.CallStateEnum; import rbase.app.smshelpmate.forward.ForwardManager; import rbase.app.smshelpmate.forward.enums.ForwardType; import rbase.app.smshelpmate.forward.vo.ForwardParam; import?android.content.Context; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log; /** * @author */ public class CallListener extends PhoneStateListener { ? ?? ???private static final String TAG = sms; ? ?? ???private static int lastetState = TelephonyManager.CALL_STATE_IDLE; // 最后的状态 ? ?? ???private Context context; ? ?? ???public CallListener(Context context) { ? ?? ?? ?? ?? ? super(); ? ?? ?? ?? ?? ? this.context = context; ? ?? ???} ? ?? ???public void onCallStateChanged(int state, String incomingNumber) { ? ?? ?? ?? ?? ? Log.v(TAG, CallListener call state changed : + incomingNumber); ? ?? ?? ?? ?? ? String m = null; ? ?? ?? ?? ?? ? // 如果当前状态为空闲,上次状态为响铃中的话,则破觚为认为是未接来电 ? ?? ?? ?? ?? ? if(lastetState ==??TelephonyManager.CALL_STATE_RINGING? ? ?? ?? ?? ?? ?? ?? ?? ? state == TelephonyManager.CALL_STATE_IDLE){ ? ?? ?? ?? ?? ?? ?? ?? ?sendSmgWhenMissedCall(incomingNumber); ? ?? ?? ?? ?? ? } ? ?? ?? ?? ?? ? // 最后的时候改变当前值 ? ?? ?? ?? ?? ? lastetState = state; ? ?? ???} ? ?? ???private void sendSmgWhenMissedCall(String incomingNumber) { ? ?? ?? ?? ? // ... 进行未接来电处理(发短信,发email等等通知) ? ?? ???} } 复制代码 2,编写CallReceiver,注册来电广播接收器。 package rbase.app.smshelpmate.call.service; import r

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档