我用下面的代碼從Android應用程序內發起呼叫的Android電話:啓動與特殊字符#
intent.setData(Uri.parse("tel:+12345 #123"));
startActivity(intent);
雖然開始呼叫,它忽略了一切開始與#。
我讀一些有關修改SpecialCharSequenceMgr.java文件,但我不能找到這個任何地方,老實說不知道到底是什麼一個必須做的。解決這個問題的最好方法是什麼?
我用下面的代碼從Android應用程序內發起呼叫的Android電話:啓動與特殊字符#
intent.setData(Uri.parse("tel:+12345 #123"));
startActivity(intent);
雖然開始呼叫,它忽略了一切開始與#。
我讀一些有關修改SpecialCharSequenceMgr.java文件,但我不能找到這個任何地方,老實說不知道到底是什麼一個必須做的。解決這個問題的最好方法是什麼?
我相信這個問題是該#符號具有URI中有特殊的意義,所以你必須使用Uri.encode()
方法這樣對它進行編碼:
Intent out = new Intent();
out.setAction(Intent.ACTION_DIAL);
out.setData(Uri.parse("tel:" + Uri.encode("+12345#123")));
startActivity(out);
我相信,喬恩並不是完全正確的你的問題,當時的想法是沒有那麼糟糕,但... 您需要使用特殊字符映射發起井號鍵:
Intent intcall = new Intent(Intent.ACTION_CALL);
intcall.setData(Uri.parse("tel:5555" + "%23"+"additional number"));
startActivity(intcall);
意向OUT =新意圖();
out.setAction(Intent.ACTION_DIAL);
out.setData(Uri.parse( 「電話:」 + Uri.encode( 「+ 12345#123」)));
startActivity(out);
感謝您的快速回復。這會導致電話屏幕打開並顯示正確的號碼(包括特殊字符),但不會再開始呼叫。必須手動按下綠色電話按鈕。有沒有一種方法可以在不手動按下按鈕的情況下啓動呼叫?非常感謝... – user387184 2011-01-27 12:14:19