Search code examples
androidphone-call

initiate a phone call on android with special character #


I use the following code to launch a call from within the android app:

intent.setData(Uri.parse("tel:+12345 #123"));
startActivity(intent);

While it starts the call, it ignores everything starting with the #.

I read something about modifying SpecialCharSequenceMgr.java file, but I can't find this anywhere and quite honestly don't know what exactly one has to do. What is the best way to solve this?


Solution

  • I believe the problem is the that the # symbol has a special meaning in URIs, so you have to encode it using the Uri.encode() method like this:

        Intent out = new Intent();
        out.setAction(Intent.ACTION_DIAL);
        out.setData(Uri.parse("tel:" + Uri.encode("+12345#123")));
        startActivity(out);