Java 如何使用Intent.ACTION\u Call选择通话号码?

Java 如何使用Intent.ACTION\u Call选择通话号码?,java,android,Java,Android,我试图在点击按钮时提供两个号码的选项,以便直接拨打该号码,但当我选择其中一个号码时,它将进入拨号器屏幕,但其中写入了“Ljava.lang.CharSequence”,并且不支持弹出带有消息服务的对话框 这是我的密码:- phone.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { fin

我试图在点击按钮时提供两个号码的选项,以便直接拨打该号码,但当我选择其中一个号码时,它将进入拨号器屏幕,但其中写入了“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();


            }
        });
改变


这是一个完整的代码,用于提供号码选择并通过单击按钮调用所选号码。我希望这对其他议员也有帮助

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();


            }
        });

已在清单文件中添加了调用权限。@Dilip是的,我已授予权限“”,问题在于数组,我猜好像我正在传递一个数字,它工作正常。您做错了。如果你想做出选择,你应该做出选择。您只是使用了一个错误类型的参数。您传递的整个数组调用字符串都是错误的…从dialog中单击电话号码,您将在
onClick(DialogInterface dialog,int which)
回调中获得一个位置。使用如下位置:
String call=“tel:”+numbers[which]如果您觉得这对其他成员也有帮助,请向上投票。我编辑了标题,以便为这类问题找到答案。@HimanshuAgnihotri当然!同样,你也会投票回答
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();


            }
        });