Android应用-->睡眠助手实现挂电话和回复短信的功能
Android应用-->睡眠助手实现挂电话和回复短信的功能
要实现自动挂电话,要调用系统的挂电话。
在src文件夹下创建包com.Android.internal.telephony,在包下建一个文件ITelephony.aidl
文件内容如下:
- package com.android.internal.telephony;
- interface ITelephony{
- boolean endCall();
- void answerRingingCall();
- }
点保存之后就会在gen目录下自动生成一个ITelephony.java文件。
可以通过调用endCall()方法来实现挂电话的功能。
- class MyPhoneListener extends PhoneStateListener {
- @Override
- public void onCallStateChanged(int state, String incomingNumber) {
- switch(state) {
- case TelephonyManager.CALL_STATE_RINGING:
- ITelephony iTelephony = getITelephony(HelperMain.this);
- try {
- //挂断来电并发短信给来电号码
- if(mEndCall) {
- //通知用户有未接来电www.bkjia.com
- mNotification(incomingNumber);
- //挂段电话
- iTelephony.endCall();
- //自动发送短信给来电号码
- SmsManager sms = SmsManager.getDefault();
- sms.sendTextMessage(incomingNumber, null, "睡眠助手提醒您:" + replyContent, null, null);
- }
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- break;
- }
- super.onCallStateChanged(state, incomingNumber);
- }
- }
- //开启助手
- public void openHelper() {
- mEndCall = true ;
- am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), alarmIntent);
- TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
- MyPhoneListener myPhoneListener = new MyPhoneListener();
- tm.listen(myPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
- setPhoneMode();
- }
到这里就实现了自动挂电话的功能。
接下来是实现挂电话之后发送给来电号码一条短信,告之对方记住正在睡觉。
- //自动发送短信给来电号码
- SmsManager sms = SmsManager.getDefault();
- sms.sendTextMessage(incomingNumber, null, "睡眠助手提醒您:" + replyContent, null, null);
到这里就实现了回复短信的功能。
评论暂时关闭