Android应用程序开发调用不调用完整的USSD代码

Android应用程序开发调用不调用完整的USSD代码,android,adt,ussd,Android,Adt,Ussd,我的应用程序目前没有在at&T的USSD代码末尾生成用于检查数据使用情况的最终“#”(应该是*3282#) 这是我的密码: public void callATT(View view){ Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "*3282#")); startActivity(intent); } 每次调用它都会调用“*3282” 请帮帮我 提前谢谢 -塔克试试

我的应用程序目前没有在at&T的USSD代码末尾生成用于检查数据使用情况的最终“#”(应该是*3282#)

这是我的密码:

public void callATT(View view){
        Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "*3282#"));
        startActivity(intent);
    }
每次调用它都会调用“*3282”

请帮帮我

提前谢谢


-塔克

试试这样。告诉我它是否有效

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

试试这个,我没有测试它,但应该可以工作

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + Uri.encode("*3282#")));
startActivity(intent);
然后设置此选项:

Intent callIntent = new Intent(Intent.ACTION_CALL, USSDToCallableUri(USSDCodeHere));
startActivity(callIntent);

简单地使用这个方法

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