2011-08-29 55 views
9

có ai biết cách chạy lệnh USSD để kiểm tra số dư tín dụng của điện thoại (số là * 123 #) và nhận kết quả (số dư tín dụng) để xử lý thêm không ?? thankssLàm thế nào để chạy các lệnh USSD trên Android?

+0

có thể trùng lặp của [Làm thế nào để có thể thực hiện các yêu cầu USSD trên Android?] (http://stackoverflow.com/questions/5477597/how-is-it-possible-to-do-ussd-requests-on-android) –

Trả lời

22

Bạn có thể chạy mã USSD trong thiết bị Android nhưng bạn sẽ không thể phân tích cú pháp kết quả trong ứng dụng của mình. Tính năng này có thể được thêm vào SDK Android trong tương lai nhưng hiện tại, bạn sẽ phải tìm một giải pháp thay thế.

USSD có thể được chạy bằng tính năng Gọi đơn giản. Xem Ví dụ:

String ussdCode = "*" + "123" + Uri.encode("#"); 
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + ussdCode))); 

như đã đề cập trong sự cho phép bình luận cuộc gọi điện thoại cũng được yêu cầu

<uses-permission android:name="android.permission.CALL_PHONE"/
+0

cảm ơn Bosah .. có một ngày tốt đẹp .. :) –

+3

có thể thay thế '" android.intent.action.CALL "' bằng 'Intent.ACTION_CALL' –

+0

bạn nên gọi quyền trong đơn kê bằng cách thêm dòng này: ** ** –

2

Bạn có thể sử dụng "% 23" thay vì "#":

String ussdCode = "*" + "123"+"%23"; 
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode))); 

Bạn nên cũng thêm quyền vào tệp kê khai của bạn:

<uses-permission android:name="android.permission.CALL_PHONE" /> 
+0

là không có cách nào để phân tích cú pháp kết quả ussd, tôi cần nắm bắt số dư của điện thoại của tôi ở khoảng thời gian đều đặn, –

Các vấn đề liên quan