Вызов разработки приложений для Android не вызывает полный код USSD

Мое приложение в настоящее время не создает окончательный «#» в конце USSD-кода AT&T для проверки использования данных (который должен быть *3282#)

Вот мой код:

public void callATT(View view){
        Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "*3282#"));
        startActivity(intent);
    }

Каждый раз, когда он звонит, он просто вызывает «*3282».

Помогите мне, пожалуйста,

заранее спасибо

-Такер


person tgs266    schedule 03.12.2014    source источник


Ответы (4)


Попробуйте это, я не проверял, но должно работать.

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + Uri.encode("*3282#")));
startActivity(intent);
person benjosantony    schedule 25.12.2014

    public Uri USSDToCallableUri(String ussd) {
    String uriString = "";

    if(!ussd.startsWith("tel:"))
        uriString += "tel:";

            for(char c : ussd.toCharArray()) {

                if(c == '#')
                    uriString += Uri.encode("#");
                else
                    uriString += c;
            }

    return Uri.parse(uriString);
}

Затем установите это:

Intent callIntent = new Intent(Intent.ACTION_CALL, USSDToCallableUri(USSDCodeHere));
startActivity(callIntent);
person IntelliJ Amiya    schedule 26.12.2014

Просто используйте этот метод....

String encodedHash = Uri.encode("#");
                    String ussd = "*123"+ encodedHash;
                    startActivity(new Intent(Intent.ACTION_CALL, Uri
                            .parse("tel:" + ussd)));enter code here
person Chinnadurai S    schedule 26.06.2015

Попробуйте что-нибудь вроде этого. подскажите работает или нет

 String phone = "*3282#";
 Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", phone, null));
 startActivity(intent);
person msamardzic    schedule 25.12.2014