4

次のコードを使用して、Androidアプリ内から呼び出しを開始します。

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

通話を開始している間、#で始まるすべてを無視します。

SpecialCharSequenceMgr.javaファイルの変更について何か読んだのですが、これはどこにも見つからず、正直なところ、正確に何をしなければならないのかわかりません。これを解決するための最良の方法は何ですか?

4

5 に答える 5

16

問題は、#記号がURIで特別な意味を持っていることだと思います。そのため、次のUri.encode()ような方法を使用してエンコードする必要があります。

    Intent out = new Intent();
    out.setAction(Intent.ACTION_DIAL);
    out.setData(Uri.parse("tel:" + Uri.encode("+12345#123")));
    startActivity(out);
于 2011-01-27T11:55:47.023 に答える
4

ジョンはあなたの質問に完全に正解ではないと思いますが、アイデアはそれほど悪くはありませんでした...ポンドキーを開始するには、特殊文字マップを使用する必要があります。

Intent intcall = new Intent(Intent.ACTION_CALL);
intcall.setData(Uri.parse("tel:5555" + "%23"+"additional number"));
startActivity(intcall);
于 2012-04-15T18:39:54.377 に答える
0

インテントアウト=newIntent();

out.setAction(Intent.ACTION_DIAL);

out.setData(Uri.parse( "tel:" + Uri.encode( "+ 12345#123")));

startActivity(out);

于 2017-08-13T18:44:15.223 に答える
0

ただこれをしてください。それは私のために働きました。

Uri.parse(Uri.encode("your string value"));
于 2018-05-01T13:54:08.290 に答える
0

私はこれを見つけました、そしてそれは私にとってうまくいきます> unity 2020.3

'Application.OpenURL( "tel:// Number");'

于 2021-09-13T11:11:07.153 に答える