title: Record phone calls on android phone?
body: <p>I tried it and use the following code for recording outgoing calls but it does not..</p>
  
  <pre><code>  @Override
    public void onReceive(Context context, Intent intent) 
    {
            this.context = context;
            if (intent.getAction().equalsIgnoreCase(Intent.ACTION_ANSWER)) 
            {
                try
                {
                    phonenbr = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
                    Log.v("GDHGDHGHDGDHGDHGHDGHDGH", phonenbr);
                    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
                    recorder.setOutputFile(pathname);
                    recorder.prepare();
                    recorder.start();
                    recordstarted = 1;
                    telManager= (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
  
  
                final PhoneStateListener phoneListener = new PhoneStateListener()
                  {
                      @Override
                       public void onCallStateChanged(final int state, final String incomingNumber)
                          {
                              getTelephonyOverview(telManager);
                          }
                  };
  
             telManager.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);
  
  }
  </code></pre>
  
  <p>}</p>
  
  <pre><code>           public void getTelephonyOverview(final TelephonyManager telManager)
             {
                     int callState = telManager.getCallState();
                     switch (callState)
                     {
                      case TelephonyManager.CALL_STATE_IDLE:
                      {
                          if (recordstarted==1)
                          {
                              recorder.stop();
                              recordstarted =0;
                          }
                          break;
                      }
                  }
             }
  </code></pre>
  
  <p>Please provide some good solution for this problem..</p>