在service里onCreat()中只启动一次PhoneStateListener监听就行,不需要多次调用。 如果将以下三句放入onStartCommand()方法则会重复电话录音(后果是同时生成两个录音文件,其中一个时间长度为0)。
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
listener=new PhoneListener(getBaseContext());telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
//文件目录存在判断问题
dir=new File(SavePath.InStoragePath);
if (!dir.exists() || !dir.isDirectory()) {
dir.mkdirs();
}