Marcación de teléfono con reconocimiento de casos de Android Studio

Tabla de contenido

Uno, configuración de código

1. Crea un proyecto

Diagrama de flujo
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2. Agregar código

Cambiar el diseño
Inserte la descripción de la imagen aquí
Diseñar el código completo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="电话拨号"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</LinearLayout>

Insertar imagen
Inserte la descripción de la imagen aquí

activity_main_xml
Inserte la descripción de la imagen aquí
código completo de diseño de archivo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="电话拨号"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入电话号码"
        android:inputType="number"
        android:id="@+id/phoneNum"/>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/call"
            android:layout_centerInParent="true" 
            android:id="@+id/call_btn"/>
    </RelativeLayout>
</LinearLayout>

Efecto de visualización del
Inserte la descripción de la imagen aquí
archivo mainactivity.java

 EditText phoneNum;
    ImageButton call_btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        phoneNum=(EditText) findViewById(R.id.phoneNum);
        call_btn=(ImageButton) findViewById(R.id.call_btn);
       call_btn.setOnClickListener(new View.OnClickListener() {
    
    
           @Override
           public void onClick(View v) {
    
    
               Intent intent=new Intent();
               intent.setAction(Intent.ACTION_CALL);
               intent.setData(Uri.parse("tel:"+phoneNum.getText()));
               startActivity(intent);


Inserte la descripción de la imagen aquí
Código de ejecución de imagen
Inserte la descripción de la imagen aquí
Intente marcar, se produce un error, debe configurar los permisos correspondientes
Inserte la descripción de la imagen aquí

3. Solicitud de permiso

Archivo Androidmainfest.xml

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

Inserte la descripción de la imagen aquí

Android 6.0 y versiones posteriores deben otorgar permisos manualmente usted mismo.


Método de evaluación del número de versión de solicitud de permiso de la aplicación

protected boolean shouldAskPermissions(){
    
    
    return (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1);
}

Cómo solicitar un permiso

protected void askPermissions() {
    
    
    String[] permissions = {
    
    
            "android.permission.CALL_PHONE"
    };
    int requestCode = 200;
    requestPermissions(permissions, requestCode);
}

Llame a onCreate

if(shouldAskPermissions()){
    
    
    askPermissions();
}

Inserte la descripción de la imagen aquí

Cuando solicite permiso para agregar código, asegúrese de que el programa se esté ejecutando; de lo contrario, se informará un error cuando se agregue el código.

En segundo lugar, la demostración del efecto

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Ingrese el número al azar, y el mensaje es un número en blanco.

Supongo que te gusta

Origin blog.csdn.net/QWERTYzxw/article/details/115094179
Recomendado
Clasificación