【问题标题】:clear USSD response Messages from screen从屏幕清除 USSD 响应消息
【发布时间】:2012-01-27 15:33:02
【问题描述】:

我正在使用这个号码拨打 USSD 号码

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

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

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

提前致谢

【问题讨论】:

    标签: android


    【解决方案1】:

    这不是我的解决方案。它取自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。或者你可以完成一项活动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 2011-10-17
      • 2013-06-24
      相关资源
      最近更新 更多