从屏幕清除USSD响应消息

时间:2011-12-25 15:17:42

标签: android

我使用此

呼叫USSD号码

String ussdCode =“*”+“123”+ Uri.encode(“#”);

startActivity(new Intent(“android.intent.action.CALL”,Uri.parse(“tel:”+ ussdCode)));

但是它会在屏幕上显示响应消息。 如何从屏幕上清除这些消息?

提前致谢

1 个答案:

答案 0 :(得分:2)

这不是我的解决方案。它取自here。如果你懂俄语,你可以在那里阅读整篇文章。不过这是他们的决心:

import com.example.android.UssdMessage.USSD;



public class UssdmessageActivity extends Activity implements OnClickListener {
        /** Called when the activity is first created. */
        private TextView view;
        private AutoCompleteTextView number;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                Button button = (Button) findViewById(R.id.button1);
                button.setOnClickListener(this);
                this.view = (TextView) findViewById(R.id.Text2);
                this.number = (AutoCompleteTextView) findViewById(R.id.Text1);
        }

        @Override
        public void onClick(View arg0) {
                String encodedHash = Uri.encode("#");
                call("*" + number.getText() + encodedHash);
                this.view.setText("");
        }

        protected void call(String phoneNumber) {
                try {
                        startActivityForResult(
                                        new Intent("android.intent.action.CALL", Uri.parse("tel:"
                                                        + phoneNumber)), 1);
                } catch (Exception eExcept) {
                        this.view.append("\n\n " + "\n" + eExcept.toString());
                }
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                USSD ussd = new USSD(4000,4000); // передается два параметра, задержка до и после (ms) создания сообщения
                if (ussd.IsFound())
                        this.view.append("\n"+ussd.getMsg());
                else
                        this.view.append(""+R.string.error_ussd_msg);
        }
}

他们依靠this class进行ussd解析。

实现此活动后,您可以使用ussd消息清除TextView。或者你可以完成一项活动。