Cómo utilizar los servicios de Android?

En este artículo, vamos a aprender acerca de los servicios y cómo habilitarlo en Android ?

En el siguiente ejemplo, vamos a utilizar la actividad y servicio class para hacer e iniciar el servicio, de manera que se puede usar en la misma pantalla.

Para implementar esto en su programa tendrá que class: android.content.Activity , android.app.Service en su archivo de java.

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click here to start Services"
android:id="@+id/button"
android:onClick="start"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="114dp" />

En el botón de arriba hemos puesto una propiedad onClick y ponerlo en función de la cual se encuentra en el archivo Java comenzar. Asignamos en función de clic directamente como esto: androide: onclick = “start” .

Ahora cada vez que el usuario pulsa el botón de función con el nombre Guardar recibirá la llamada y la función que va a iniciar el servicio.

    startService(new Intent(getBaseContext(),service.class));

Esto iniciará el servicio y cuando el servicio de ser llamado una función llamada que brindar por un texto de manera de dar una señal de que el servicio se ha iniciado.

    Toast.makeText(this, "Service Started", Toast.LENGTH_LONG ). show();
return START_STICKY;

1) Java Archive 1:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity
{
String msg= "Android : ";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(msg,"Some event");
}
public void start(View v)
{
startService(new Intent(getBaseContext(),service.class));
Toast.makeText(this,"Service Started",Toast.LENGTH_LONG).show();
}
}

2) Java Archive 2:

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.widget.Toast;

public class service extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
public int onStartCommand(Intent intent, int flags, int startId)
{
Toast.makeText(this,"Service Started",Toast.LENGTH_LONG).show();
return START_STICKY;
}
}

3) archivo XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout >:android="http://schemas.android.com/apk/res/android"
>:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hp.myapplication.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click here to start Services"
android:id="@+id/button"
android:onClick="start"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="114dp" />
</RelativeLayout>

archivo 4) Android Manifiesto:

<?xml version="1.0" encoding="utf-8"?>
<manifest >:android="http://schemas.android.com/apk/res/android"
package="com.example.hp.myapplication">
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

salida


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *