I'm creating a calling app.
Here's Auto answer which works on android 4.0 and 5.0; whereas when i have an incoming call answer call button works but it doesn't work on android 6.0.
I tested answer of this post but it doesn't work too : Answer Incoming Call in Android 6.0
IncomingActivity:
@Override public void onClick(View v) { switch (v.getId()) { case R.id.imgaccept: { if (Build.VERSION.SDK_INT >= 21) { new Thread(new Runnable() { @Override public void run() { try { Runtime.getRuntime().exec( "input keyevent " + KeyEvent.KEYCODE_HEADSETHOOK ); Intent intent = new Intent(getApplicationContext(), OutGoing.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(CommonMethods.OUTGOING_NUMBER, savedNumber); startActivity(intent); finish(); } catch (Throwable t) { } } }).start(); } else { Intent buttonDown = new Intent(Intent.ACTION_MEDIA_BUTTON); buttonDown.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK)); sendOrderedBroadcast(buttonDown, "android.permission.CALL_PRIVILEGED"); Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON); buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK)); sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED"); Intent intent = new Intent(this, OutGoing.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(CommonMethods.OUTGOING_NUMBER, savedNumber); startActivity(intent); finish(); } break; } case R.id.imgdecline: { CommonMethods.rejectCall(this); finish(); break; } default: break; } }