我有一个应用程序可以进行USSD调用,但是在USSD调用之后,我得到了一个包含结果的对话框给用户。如何以编程方式关闭/取消/关闭系统对话框(Android)
我知道可以关闭这个对话框,因为“USSD Checker”应用程序这样做,他们从USSD获得响应而不显示用户对话框。
具有的功能displayMMIComplete
是完成后的USSD通话,展现出TYPE_SYSTEM_DIALOG。在PhoneUtils.java他们所使用的对话框是这样的:
AlertDialog newDialog = new AlertDialog.Builder(context)
.setMessage(text)
.setPositiveButton(R.string.ok, null)
.setCancelable(true)
.create();
newDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
newDialog.getWindow().addFlags(
WindowManager.LayoutParams.FLAG_DIM_BEHIND);
newDialog.show();
然后,我不能随便发一些标志予以驳回。而且我不能使用那个导入它的系统类。
而当我做X连续调用出现X对话框关闭用户,我的应用程序将需要做连续调用,无论如何编程方式关闭此系统对话框?
顺便说一句,这个代码没有按”即使我将android.permission.SYSTEM_ALERT_WINDOW添加到AndroidManifest.xml中,我仍然适用于我。 'android.view.WindowManager $ BadTokenException:无法添加窗口[email protected] - 此窗口类型的权限被拒绝 – 2013-09-27 12:23:18
http://stackoverflow.com/q/4344523/1065835。它的工作原理 – 2013-09-27 12:51:14