Android TelephonyManager 监听手机来电

来源:互联网 发布:淘宝网中老年冬装 编辑:程序博客网 时间:2024/06/02 17:11

AndroidMainfest.xml

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
package shortcut.song.com.myapplication;import android.app.Service;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import java.io.FileNotFoundException;import java.io.OutputStream;import java.io.PrintStream;import java.util.Date;public class MonitorPhoneActivity extends AppCompatActivity {    TelephonyManager telephonyManager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_monitor_phone);        telephonyManager = (TelephonyManager)getSystemService(Service.TELEPHONY_SERVICE);        PhoneStateListener listener = new PhoneStateListener(){            @Override            public void onCallStateChanged(int state, String incomingNumber) {                switch (state) {                    // 无任何状态                    case TelephonyManager.CALL_STATE_IDLE:                        break;                    case TelephonyManager.CALL_STATE_OFFHOOK:                        break;                    // 来电                    case TelephonyManager.CALL_STATE_RINGING:                        OutputStream os = null;                        try {                            os = openFileOutput("phoneList", MODE_APPEND);                        } catch (FileNotFoundException e){                            e.printStackTrace();                        }                        PrintStream ps = new PrintStream(os);                        ps.println(new Date()+ "Call" + incomingNumber);                        ps.close();                        break;                    default:                        break;                }                super.onCallStateChanged(state, incomingNumber);            }        };    }}
原创粉丝点击