繁体   English   中英

如何使用 Intent.ACTION_CALL 选择要呼叫的号码?

[英]How to give Choice of Numbers to Call using Intent.ACTION_CALL?

我试图通过单击按钮提供两个号码的选项以直接拨打该号码,但是当我选择其中一个号码时,它会转到拨号器屏幕,但写入了“Ljava.lang.CharSequence”在那里弹出一个不支持消息服务的对话框。

这是我的代码:-

phone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                final CharSequence numbers[] = new CharSequence[] {"02212345678","+14356789809"};

                AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
                builder.setTitle("Select number to call");
                builder.setItems(numbers, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Intent callIntent = new Intent(Intent.ACTION_CALL);
                        String call = "tel:" +numbers;
                        callIntent.setData(Uri.parse(call));
                        startActivity(callIntent);


                    }
                });
                builder.show();


            }
        });

改变

 String call = "tel:" +numbers;

String call = "tel:" +numbers[which];
phone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

             String number = "02212345678";

                          AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
                builder.setTitle("Select number to call");
                builder.setItems(number , new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Intent callIntent = new Intent(Intent.ACTION_CALL);
                        String call = "tel:" +number ;
                        callIntent.setData(Uri.parse(call));
                        startActivity(callIntent);


                    }
                });
                builder.show();


            }
        });

这是用于在按钮单击时选择号码和呼叫所选号码的完整代码。 我希望这也能帮助其他成员。

phone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                final CharSequence numbers[] = new CharSequence[] {"+1xxxxxxxxx","+1xxxxxxxxxx"};

                AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
                builder.setTitle("Select number to call");
                builder.setItems(numbers, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Intent callIntent = new Intent(Intent.ACTION_CALL);
                        String call = "tel:" +numbers[which];
                        callIntent.setData(Uri.parse(call));
                        startActivity(callIntent);

                        // the user clicked on colors[which]
                    }
                });
                builder.show();


            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM