关闭系统对话框失败

时间:2014-07-31 23:03:40

标签: java android

我正在我的Android应用程序中使用此函数执行ussd代码

public void onReceive(Context arg0, Intent arg1) {
String ussdCode = "*" + "199" + "*" + "8" + "*" + "0897067547" + Uri.encode("#");
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_SHORT).show();
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode))); 
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_SHORT).show();
break;
}
}

我能够执行ussd代码,但之后我无法关闭ussd对话框。我如何关闭ussd对话框?。

1 个答案:

答案 0 :(得分:0)

你不是。它是来自另一个应用程序的对话框,您无法关闭它。这就是为什么一般规则不是将USSD用于Android中的任何东西 - 不仅是它不能在运营商之间移植,而且没有真正的USSD API - 你可以将它们中的一些混合在一起(更不用说USSD本身就是一种破解,现在应该存在Web服务和数据连接。)