【问题标题】:Phone Call On TextView ClickTextView上的电话点击
【发布时间】:2012-03-14 14:02:11
【问题描述】:

当用户点击textView然后在textView中自动拨打电话时如何在android中拨打电话?

  TextView tv=(TextView) findViewById(R.id.tv_contact);
 String url = tv.getText().toString();
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));

 tv.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(intent);
        }
    });'

【问题讨论】:

标签: android


【解决方案1】:

在 AndroidManifest.xml 文件中添加调用权限。

<uses-permission android:name="android.permission.CALL_PHONE"/>

首先通过在您的 layout.xml 中添加以下内容来使您的 TextView 可点击

<TextView 
...
...
android:clickable="true">
</TextView>

然后在您的 Activity 类中,在特定 TextView 的 OnClickListener 中添加以下代码

if (Build.VERSION.SDK_INT > 22) {

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

            ActivityCompat.requestPermissions(MoreProgramDetailActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 101);

            return;
        }
        Intent callIntent = new Intent(Intent.ACTION_CALL);
        callIntent.setData(Uri.parse("tel:+" + tv.getText().toString().trim()));
        startActivity(callIntent);
 } else {

        Intent callIntent = new Intent(Intent.ACTION_CALL);
        callIntent.setData(Uri.parse("tel:+" + tv.getText().toString().trim()));
        startActivity(callIntent);
 }

【讨论】:

  • 使用不带+ 符号的"tel:" 拨打本地号码。还需要android.permission.CALL_PHONE 权限。
猜你喜欢
  • 1970-01-01
  • 2013-01-23
  • 2020-02-13
  • 2011-08-23
  • 1970-01-01
  • 2011-07-21
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多