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);
}
};
}
}