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
2. Agregar código
Cambiar el diseño
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
activity_main_xml
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
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);
Código de ejecución de imagen
Intente marcar, se produce un error, debe configurar los permisos correspondientes
3. Solicitud de permiso
Archivo Androidmainfest.xml
<uses-permission android:name="android.permission.CALL_PHONE"/>
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();
}
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
Ingrese el número al azar, y el mensaje es un número en blanco.