Как открыть программный номер набора номера в андроиде?

Я хочу отображать цифровую клавиатуру набора номера (телефонный звонок) программно нажатием кнопки мыши в android. Код доступен для прямого набора номера, но мне нужно показать клавиатуру набора, когда я нажимаю кнопку.

Ответ 1

Intent intent = new Intent(Intent.ACTION_DIAL); 
startActivity(intent); 

Ответ 2

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:9999999999"));
startActivity(intent); 

Для этого нам не нужно добавлять какие-либо разрешения в AndroidManifest.xml

Ответ 3

Intent intent =  new Intent(Intent.ACTION_CALL_BUTTON);
startActivity(intent);

здесь будет отображаться проверка Dial Dial здесь для информации

Ответ 4

Сделать кнопку или любой пример виджета: button1

  button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent callIntent = new Intent(Intent.ACTION_DIAL);
            callIntent.setData(Uri.parse("tel:"+button1.getText().toString().trim()));
            startActivity(callIntent);

        }
    });

Добавить разрешение в манифесте:

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

Ответ 5

 public void openDialPad(String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse(phoneNumber));
        startActivity(intent);
    }

Ответ 6

Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:" + phoneNumber));
 if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                // TODO: Consider calling
                //    ActivityCompat#requestPermissions
                // here to request the missing permissions, and then overriding
                //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                //                                          int[] grantResults)
                // to handle the case where the user grants the permission. See the documentation
                // for ActivityCompat#requestPermissions for more details.
                return;
            }
startActivity(callIntent);

Кроме того, вы должны зарегистрировать пользовательский экран часового пояса, как показано в манифесте:

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
    android:name=".MyDialerApplication"
    android:label="@string/app_name" >

    <intent-filter android:priority="100" >
        <action android:name="android.intent.action.MAIN" />
         <action android:name="android.intent.action.DIAL" />
         <action android:name="android.intent.action.CALL_PRIVILEGED" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="tel" />

    </intent-filter>
</activity>

Ответ 7

Если вы хотите использовать его в неактивном классе, создайте такую функцию:

package bp;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;

import session.MyApplication;

/**
 * Created by Atiar Talukdar on 7/11/2019.
 */
public class Utils {

    public static void openDialPad(Activity activity, String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:" + phoneNumber));
        activity.startActivity(intent);
    }
}

а затем позвоните из любой страны в:

Utils.openDialPad(getActivity(),data.getContactNo());

или же

Utils.openDialPad(this,data.getContactNo());