发送USSD代码Android

时间:2012-06-22 14:07:50

标签: android ussd

我正在尝试通过手机发送USSD代码,所以我使用了一个意图,因为这里建议的是发送代码的方式。不幸的是,每次发送代码时,它都会发送相同的号码* 4355696753

我用来发送USSD的代码是:

sendCode.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String cUssd = ussdCodeEdTxt.getText().toString();
            String cToSend = "tel:*" + cUssd + Uri.encode("#");
            startActivityForResult(new Intent("android.intent.action.CALL",
                       Uri.parse(cToSend)), 1);

        }
    });

任何想法都将不胜感激

2 个答案:

答案 0 :(得分:2)

我认为您可能还需要使用Uri.encode("*")作为明星

sendCode.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String cUssd = ussdCodeEdTxt.getText().toString();
            String cToSend = "tel:" + Uri.encode("*") + cUssd + Uri.encode("#");
            startActivityForResult(new Intent("android.intent.action.CALL",
                       Uri.parse(cToSend)), 1);
        }
    });

答案 1 :(得分:0)

尽管这是一篇过时的文章,但是,对于那些面临相同问题的人,请尝试此Uri.fromParts("tel", number eg = *222# , "#");