-4
<TextView
    android:id="@+id/TextView03"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/header"
    android:layout_alignLeft="@+id/button1"
    android:layout_marginBottom="127dp"
    android:text="@string/phone"
    android:textColor="#000000"
    android:textSize="12dp"
    android:typeface="sans" />

我有一个测试视图,其中包含我的电话信息。如何在单击消息时打开默认电话拨号框。

<string name="email">Phone: 1-866-232-3805</string>

这是我的覆盖方法。

    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView t2 = (TextView) findViewById(R.id.TextView03);
            email.setOnClickListener(new View.OnClickListener() {

                 public void onClick(View v) {
                     // TODO Auto-generated method stub                
                 }

           });
}

我应该从这里做什么?

4

4 回答 4

2

在 textview 的 onclicklistener 中使用此代码

 Intent callIntent = new Intent(Intent.ACTION_DIAL);

            callIntent.setData(Uri.parse("tel:"+t2.getText()));
            startActivity(callIntent);

并在您的清单文件中添加以下权限

 <
uses-permission android:name="android.permission.CALL_PRIVILEGED" />
  <uses-permission android:name="android.permission.CALL_PHONE" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />
于 2012-10-18T12:21:30.687 回答
2

您应该首先从 string.xml 中获取号码,然后Intent.ACTION_DIAL使用该号码拨打电话。

String phone = getResources().getString(R.string.email).split(":")[1];
        Intent DialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+phone));
        DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(DialIntent);
于 2012-10-18T12:22:33.290 回答
2

如果你只想打开一个拨号器

Button contactsButton = (Button) findViewById(R.id.contacts_button);
        contactsButton.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                Intent myIntent = new Intent(Intent.ACTION_DIAL);
                startActivity(myIntent);
            }
        });

如果你想用指定的号码打开拨号器然后

Button contactsButton = (Button) findViewById(R.id.contacts_button);
        contactsButton.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {

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

            }
        });
于 2012-10-18T12:24:04.473 回答
1

使用以下显示 CALL DIAL 的意图:

 Intent dial = new Intent();
 dial.setAction("android.intent.action.DIAL");
 dial.setData(Uri.parse("tel:"+ Phone));
 startActivity(dial); 

Phone您要拨打的电话号码在哪里。

于 2012-10-18T12:22:15.490 回答