在Android中运行USSD代码并将应用程序保留在第一位
我正在Android中创建一个应用程序,需要在后台运行USSD代码。 没有在后台发送我的申请,
每当我使用Intent.ACTION_CALL运行USSD时
String ussdCode = "*" + "123" + Uri.encode("#"); startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));
它在后台发送我的应用程序,并在我的应用程序上打开拨号程序接口。
因此,可以在不使用开放式拨号程序接口的情况下运行USSD代码。
谢谢。
使用以下代码:
String ussdCode = "*123#"; Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(ussdToCallableUri(ussdCode)); try{ startActivity(intent); } catch (SecurityException e){ e.printStackTrace(); }
以下是将ussd代码转换为可调用ussd的方法:
private Uri ussdToCallableUri(String ussd) { String uriString = ""; if(!ussd.startsWith("tel:")) uriString += "tel:"; for(char c : ussd.toCharArray()) { if(c == '#') uriString += Uri.encode("#"); else uriString += c; } return Uri.parse(uriString); }
- Android:错误SimpleDateFormat未知模式字符’u’
- 地理编码器并不总是返回值
- 阿卡。 Android系统。 NoSuchMethodException:
- 如何为多人Android应用程序设置Java服务器和数据库
- HttpURLConnection即使在setDoOutput(true)之后执行get请求,setRequestMethod(“POST”)setRequestProperty(“Content”
- 如何确定,如果互联网连接当前可用且在Android设备上有效?
- NPE同时在老Androids上充气ActionBarSherlock
- ProcessException:org.gradle.process.internal.ExecException以非零退出值2 结束
- 在Android密钥库中存储hmac密钥