2

電話番号をダイヤルするために使用しているコードを次に示します。拡張子に「#」を付けた場合を除いて、正常に動作します。「,」は、内線番号がダイヤルされる前に遅延を引き起こします。「#」がダイヤルされないのはなぜですか? 基本的に、# の後の数字はすべて破棄されます。

String number = "555-555-5555,,1#123"
// # is not dialed, neither are 123
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
Uri uri = Uri.parse("tel:" + number);
Log.d("URI", uri.toString());
intent.setData(Uri.parse("tel:" + number));
context.startActivity(intent);
4

3 に答える 3

3

文字「#」は、URI 参照のフラグメント識別子から URI を区切るために使用されるため、除外されます。

使用する必要がありますUri.encode(yourEncodeDailString)

于 2012-05-14T15:23:50.717 に答える
2

String encodedHash = Uri.encode("#")ACTION_CALL で送信する必要があります。

于 2012-05-14T15:24:38.743 に答える
0

# を %23 に置き換えることができる場合があります。

于 2016-09-14T19:39:16.887 に答える