Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中使用选定号码打开手机拨号器_Java_Android_Android Studio_Google Places Api - Fatal编程技术网

Java 如何在android中使用选定号码打开手机拨号器

Java 如何在android中使用选定号码打开手机拨号器,java,android,android-studio,google-places-api,Java,Android,Android Studio,Google Places Api,我制作了一个使用GooglePlacesAPI的应用程序。单击某个位置后,它会将公司名称、地址和编号返回到主活动。当我点击号码时,我可以打开拨号器,但我似乎无法将主活动返回的号码输入拨号器。有没有关于我该怎么做的想法。谢谢 我的代码如下 主要活动 private TextView mName; private TextView mAddress; private TextView mNumber; private static final LatLngBounds S

我制作了一个使用GooglePlacesAPI的应用程序。单击某个位置后,它会将公司名称、地址和编号返回到主活动。当我点击号码时,我可以打开拨号器,但我似乎无法将主活动返回的号码输入拨号器。有没有关于我该怎么做的想法。谢谢

我的代码如下

主要活动

    private TextView mName;
    private TextView mAddress;
    private TextView mNumber;
  private static final LatLngBounds Sligo = new LatLngBounds(
            new LatLng(54.27, -8.47), new LatLng(54.27, -8.47));
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_main);
        mName = (TextView) findViewById(R.id.textView);
        mAddress = (TextView) findViewById(R.id.textView2);
        mAttributions = (TextView) findViewById(R.id.textView3);
        mNumber = (TextView) findViewById(R.id.textView4);
        Button pickerButton = (Button) findViewById(R.id.pickerButton);

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

                try {
                    PlacePicker.IntentBuilder intentBuilder =
                            new PlacePicker.IntentBuilder();
                    intentBuilder.setLatLngBounds(Sligo);


                    List<Integer> filterTypes = new ArrayList<Integer>();
                    filterTypes.add(Place.TYPE_CAR_REPAIR);


                    Intent intent = intentBuilder.build(MainActivity.this);
                    startActivityForResult(intent, PLACE_PICKER_REQUEST );
                } catch (GooglePlayServicesRepairableException
                        | GooglePlayServicesNotAvailableException e) {
                    e.printStackTrace();
                }
            }
        });
    @Override
    protected void onActivityResult(int requestCode,
                                    int resultCode, Intent data) {

        if (requestCode == PLACE_PICKER_REQUEST
                && resultCode == Activity.RESULT_OK) {

            final Place place = PlacePicker.getPlace(this, data);
            final CharSequence name = place.getName();
            final CharSequence address = place.getAddress();
            final CharSequence formatted_phone_number = place.getPhoneNumber();

            //    final CharSequence car = place.TYPE_CAR_REPAIR();
            //public abstract List<Integer> getTypeFilter(place.TYPE_CAR_REPAIR);
            String attributions = (String) place.getAttributions();
            if (attributions == null) {
                attributions = "";
            }

            mName.setText(name);
            mAddress.setText(address);
            mAttributions.setText(Html.fromHtml(attributions));
            mNumber.setText(formatted_phone_number);



        } else {
            super.onActivityResult(requestCode, resultCode, data);
        }
号码在屏幕底部 试试这个

String number = "494498498";
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" +number));
startActivity(intent);
试试这个

String phone = mNumber.getText().toString();
Intent phoneIntent = new Intent(Intent.ACTION_DIAL, Uri.fromParts(
"tel", phone, null));
startActivity(phoneIntent);

你看,事实上它可以是任何数字,这只是一个例子,所以我不能设定一个具体的数字number@CraigGallagher你不能把你的号码传给数字串吗。这样做有什么问题?你可以设置任何数字。比如从TextView获取您的号码,并将其设置为intent.setData(Uri.parse(“tel:+yourTextView.getText().toString())@米肯。你看,事实上它可以是任何数字,这只是一个例子,所以我不能设定一个具体的数字。我找不到一个能让我用我选择的号码拨打拨号器的答案。使用
格式化的电话号码
你将进入
的活动结果()
。这很有效,谢谢wc@CraigGallagher
String phone = mNumber.getText().toString();
Intent phoneIntent = new Intent(Intent.ACTION_DIAL, Uri.fromParts(
"tel", phone, null));
startActivity(phoneIntent);