天天看點

Android-電話錄音服務

android-電話錄音

telephonymanager telmanager = (telephonymanager)getsystemservice(context.telephony_service);

//通過電話管理監聽通話狀态(回調機制)

telmanager.listen(listener,phonestatelistener.listen_call_state);

listener = new phonestatelistener(){

         public void oncallstatechanged(int state,string incomingnumber){

                   switch(state){

                            case telephonymanager.call_state_idle://空閑

                            case telephonymanager.call_state_offhook:挂起電話

                            case telepnhonymanager.call_state_ringing:振鈴

}

//錄音

recorder = new mediarecorder();

recorder.setaudiosource(mediarecorder.outputformat.three_gpp);//.3gp

recorder.setaudioencoder(mediarecorder.audioencoder.amr_nb);

recorder.setoutputfile(“/mnt/sdcard/”+filename);

recorder.prepare();

recorder.start();

recoding = true;

<uses-permission android:name=”android.permission.read_phone_state”/>

android2.0(api 5)測試通過,2.2不可以.

通過receiver機制(收到手機啟動完成的廣播)啟動電話錄音服務

xxxreceiver extends receiver{

         public void onreceive(){

                   intent = new intent(this,xxxxservice.class);

                   startservice(intent);

//配置使用權限

<uses-permission

android:name = “android.permission.receive_boot_completed”/>

<uses-permission android:name="android.permission.write_external_storage"/>

<uses-permission android:name=”android.permission.internet”/>

<uses-permission android:name=”android.permission.record_audio”/>

注:

         電話錄音者應用程式需要停止卡塔莎錄屏軟體,否則電腦卡死。

繼續閱讀