Номер телефона Android Функция вызова в действии - PullRequest
2 голосов
/ 07 ноября 2011

Я занимаюсь разработкой приложения для Android, имеющего страницу ContactUs с номером телефона. Я дал номер телефона в XML-файле, как показано ниже:

<TextView 
android:layout_height="wrap_content" 
android:textAppearance="?android:attr/textAppearanceSmall" 
android:text="1-869-270-9099" 
android:textSize="11sp"
android:textColor="#104082"
android:textStyle="normal"
android:layout_width="wrap_content" 
android:id="@+id/textView4" 
android:layout_x="72dp" 
android:layout_y="160dp"/>

Я создал AlertDialog, и при нажатии на телефонный номер предупреждение dialog будет отображаться программно, как показано ниже:

   @Override
   protected Dialog onCreateDialog(int id) {
    switch (id) {
    case (R.id.textView4):

        Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Do you want to Call?");
        builder.setCancelable(false);
        builder.setPositiveButton("Call", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
               //Do Calling a Number


            }
        });
        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
            }
        });
        AlertDialog dialog = builder.create();
        dialog.show();
    }
    return super.onCreateDialog(id);
}
       public void onClick(View v) {

    switch(v.getId()){
    case (R.id.textView4):

        showDialog(R.id.textView4);
    break;
    }

}

Здесь у меня проблема для реализации функции "Вызов номера телефона" в методе onClick "PositiveButton". Пожалуйста, помогите мне, как получить DialPad с номером, присутствующим в xml файл с SampleCode / Links.

Ответы [ 3 ]

13 голосов
/ 07 ноября 2011

Может быть что-то вроде:

Intent call = new Intent(Intent.ACTION_DIAL);
call.setData(Uri.parse("tel:" + findViewByid(R.id.textView4).getText());
startActivity(call);
0 голосов
/ 21 мая 2013

Вы можете сразу запустить намерение получить панель набора номера с номером, указанным в вашем XML-файле. Например:

String contact=findViewById(R.id.textView4).getText().toString();
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + contact));
startActivity(callIntent);
0 голосов
/ 07 ноября 2011

Внутри onClick из положительных button просто напишите:

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

Примечание: Не забудьте добавить это разрешение в файл AndroidManifest.xml:

<uses-permission android:name="android.permission.CALL_PHONE"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...