拨打电话回应Onclick

时间:2014-10-03 09:10:08

标签: java android android-layout

我是一名新的Android开发人员,我想创建一个在点击按钮时拨打电话的Android应用程序。

我的布局xml是:     

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selectionner l&apos;IMSI" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="16dp"
    android:onClick="SendMessage"
    android:text="call" />

</RelativeLayout>

SendMessage Methode在MainActivity.java中定义为:

public void sendMessage(View view) {

// do something to answer the button click

    Uri number = Uri.parse("tel:333");
    Intent callIntent = new Intent(Intent.ACTION_CALL, number);
    startActivity(callIntent);

}

我在清单文件中添加了权限:

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

当我点击按钮时出现消息“不幸的是,应用程序已停止”!我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您在xml android:onClick="SendMessage"中声明了,因此您的活动期待

public void SendMessage(View view)

不是

public void sendMessage(View view)

答案 1 :(得分:0)

            Intent callIntent = new Intent(Intent.ACTION_CALL);
            String phoneNumber = editText.getText().toString();
            callIntent.setData(Uri.parse("tel:" + phoneNumber));
            startActivity(callIntent);

许可

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