title: Neither user 10056 nor current process has android.permission.MODIFY_PHONE_STATE
body: <p>I want to create such an application in which i want to open a dialer with specified number during call.</p>
  
  <p>I have successfully opened the dialer during a call with refrence of this <a href="https://stackoverflow.com/questions/12109554/android-dialing-a-custom-number-once-call-picked-up">LINK</a> but not able to dial the number, and another issue is that code is not working above Android 2.2. is there any other way to make this working in all devices.</p>
  
  <p><strong>Code :</strong> </p>
  
  <pre><code>TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
  Class c = Class.forName(tm.getClass().getName());
  Method m = c.getDeclaredMethod("getITelephony");
  m.setAccessible(true);
  ITelephony telephonyService;
  telephonyService = (ITelephony)m.invoke(tm);
  
  // Silence the ringer and answer the call!
  telephonyService.silenceRinger();
  telephonyService.answerRingingCall();
  telephonyService.showCallScreen();
  telephonyService.showCallScreenWithDialpad(true);
  </code></pre>
  
  <p><strong>ERROR LOG:</strong></p>
  
  <pre><code>01-09 17:35:41.065: W/Resources(367): Converting to string: TypedValue{t=0x10/d=0x2 a=-1}
  01-09 17:38:23.446: W/System.err(367): java.lang.SecurityException: Neither user 10056 nor current process has android.permission.MODIFY_PHONE_STATE.
  01-09 17:38:23.446: W/System.err(367):  at android.os.Parcel.readException(Parcel.java:1322)
  01-09 17:38:23.446: W/System.err(367):  at android.os.Parcel.readException(Parcel.java:1276)
  01-09 17:38:23.446: W/System.err(367):  at com.android.internal.telephony.ITelephony$Stub$Proxy.silenceRinger(ITelephony.java:549)
  01-09 17:38:23.446: W/System.err(367):  at com.everysoft.autoanswer.AutoAnswerIntentService.answerPhoneAidl(AutoAnswerIntentService.java:137)
  01-09 17:38:23.446: W/System.err(367):  at com.everysoft.autoanswer.AutoAnswerIntentService.onHandleIntent(AutoAnswerIntentService.java:94)
  01-09 17:38:23.446: W/System.err(367):  at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:59)
  01-09 17:38:23.446: W/System.err(367):  at android.os.Handler.dispatchMessage(Handler.java:99)
  01-09 17:38:23.446: W/System.err(367):  at android.os.Looper.loop(Looper.java:123)
  01-09 17:38:23.446: W/System.err(367):  at android.os.HandlerThread.run(HandlerThread.java:60)
  </code></pre>
  
  <p><strong>Manifest.xml</strong></p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.BLUETOOTH" /&gt;
  &lt;uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /&gt;
  &lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.READ_CONTACTS" /&gt;
  &lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /&gt;
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>I am able to auto answer the call in all devices but having problem with opening a dialpad only.</p>