Android işletim sisteminin başlatılmasıyla (cihazın açılmasıyla) devreye giren class'ı tanımlayacağız. Peki bu class'a neden gerek duyarız? Örneğin bir android servis kullandığımızda bu servisin telefon açılır açılmaz başlatılmasını isteriz. Bu durumlarda BroadcastReceiver sınıfından yararlanırız.
Class'ımızın ismi BootComplete olsun;
Yukarıdaki kodda da gördüğünüz gibi telefon açıldığında ServisBaslat class'ımızdaki servis çalışacaktır.
AndroidManifest.xml dosyasında gerekli izin ve tanımlamaları yapmamız gerek;
Class'ımızın ismi BootComplete olsun;
Kod:
import android.content.Context;
import android.content.BroadcastReceiver;
import android.content.Intent;
public class BootComplete extends BroadcastReceiver {
@Override
public **** onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) {
Intent serviceIntent = new Intent(context, ServisBaslat.class);
context.startService(serviceIntent);
}
}
}
Yukarıdaki kodda da gördüğünüz gibi telefon açıldığında ServisBaslat class'ımızdaki servis çalışacaktır.
AndroidManifest.xml dosyasında gerekli izin ve tanımlamaları yapmamız gerek;
Kod:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" >
</uses-permission>
Kod:
<receiver
android:name=".BootComplete"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>