睡眠助手实现挂电话和回复短信的功能

要实现自动挂电话,要调用系统的挂电话。

在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) {                           //通知用户有未接来电                            mNotification(incomingNumber);                           //挂段电话                            iTelephony.endCall();                           //自动发送短信给来电号码                            SmsManager sms = SmsManager.getDefault();                           sms.sendTextMessage(incomingNumber, null"睡眠助手提醒您:" + replyContent, nullnull);                                                  }                   } 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();       }  

到这里就实现了自动挂电话的功能。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjgfs.html