在我的Android應用程序發送USSD代碼,我使用下面Intent
發送USSD
碼(#144#73#
):與字母字符
String baseUssd = Uri.encode("#") + "144" + Uri.encode("#");
StringBuilder builder = new StringBuilder();
builder.append(baseUssd);
builder.append("73");
builder.append(Uri.encode("#"));
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + builder.toString()));
它的工作好。
我現在想的是發送此代碼:
#144#73MA#
我運行這個使用撥號盤,繼操作USSD菜單,即工作。 但是,如果我試圖這樣做以編程方式使用上述Intent
沒有工作。
我知道當用撥號盤輸入代碼時不能使用字母字符,但我儘管這可以通過編程實現!
任何想法請!
編輯
當我試圖以編程方式發送的:#144#73MA#
我注意到,撥號應用程序更改字母到其相應的撥號盤位。這意味着撥號器轉變這樣的:#144#73MA#
這個#144#73
62
#
:爲什麼呢?
因爲:
- 的
M
相匹配的數字6
- 的
A
相匹配的數字2
_使用上述無法工作的意圖_ ---請定義它的工作原理。 – ozbek
謝謝@shoerat,很高興看到您的評論!讓我編輯我的答案。 –
文章編輯!謝謝 –