Android:简单的 USSD 拨号器应用程序

标签 android

我创建了一个简单的拨号程序来快速帮助我调用移动服务提供商的服务,例如检查空气余额、从提供商处获取互联网设置

//example
phoneNum[1] = "*144#";

当我点击查询余额的按钮时,它显示正在拨号

 Dialing *144

*144 并注意散列不存在,但如果散列可用,它应该作为 ussd 代码运行并返回余额而不是调用。如何将散列添加到数组?

最佳答案

你应该用 %23 转义 # 符号

//示例 phoneNum[1] = "*144";

String encodedHash = Uri.encode("#");
startActivity(new Intent("android.intent.action.DIAL",
              Uri.parse("tel:"+ phoneNum[1]+ encodedHash)));

至于捕捉响应,你应该尝试

startActivityForResult(new Intent("android.intent.action.CALL", 
                   Uri.parse("tel:"+ phoneNum[1]+ encodedHash)), 1);
@Override
protected void onActivityResult(int requestCode, int resultCode,Intent data) {
    view.setText("USSD: " + requestCode + " " + resultCode + " " + data);
}

看看这会给你带来什么。

关于Android:简单的 USSD 拨号器应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399033/

相关文章:

android - 在 Android 上存储传感器数据和转储事件文件

android - 在单个 Activity 中交换 fragment ?

android - 是否可以制作一个连接到我的 android 应用程序 Activity ( map )的磨损应用程序

java - 在我的 android studio 项目中集成图层图集

android - 弹出窗口显示在屏幕中央和上下文之外

Android 抽屉导航样式

java - 使用错误的小数分隔符在 Android 中格式化货币

java - 如何获取特定数据并将其用作从 firebase 中的另一个表获取另一个数据的键

android - Android 弹出 View 中不显示键盘

android - 使用 Google Play Services 6.5.+ 测试地理围栏