android拨号器到固定号码

时间:2015-07-09 00:16:07

标签: android android-dialer

我试图制作一个能拨打固定号码的Android项目。当我使用像01712364445这样的正常数字时,它正在工作。但是,当我使用这个号码* 566#时,拨打* 567就是#缺失了。如何解决这个问题?我的代码在这里......

    gp = (Button) findViewById(R.id.buttongp);
    gp.setOnClickListener(listener);


    }
OnClickListener listener = new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent dialerIntent = new Intent();
        dialerIntent.setAction(Intent.ACTION_CALL);
        dialerIntent.setData(Uri.parse("tel:*566# "));

        startActivity(dialerIntent);

    }
};

1 个答案:

答案 0 :(得分:0)

Intent callIntent = new Intent(Intent.ACTION_CALL);
string pnd=uri.encode("#");     callIntent.setData(Uri.parse("tel:566 "+pnd));     startActivity(callIntent);

试试这个 并在主函数

之前使构造函数全局化

编辑: 此代码有效

    Button b;
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    String pnd;
    @Override
    protected void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    b=(Button)findViewById(R.id.b1);

    OnClickListener ls=new OnClickListener(){

        @Override
        public void onClick(View p1)
        {
            {
                pnd=Uri.encode("#");
                callIntent.setData(Uri.parse("tel:*566 "+pnd));
                startActivity(callIntent);
            }
            // TODO: Implement this method
        }
    };
    b.setOnClickListener(ls);

    }

}

和uri.encode(“#”);把英镑标志放在那里检索ussd代码。遵循程序并连接uri.encode(“#”);

经过测试和工作

使用AIDE for Android进行测试。这就是我从智能手机创建应用程序的方式。