This tutorial will explain to stat an application while the Android device boot-up. For this we need to  listen to the BOOT_COMPLETED action and react to it. BOOT_COMPLETED is a Broadcast Action that is broadcast once, after the system has finished booting. You can listen to this action by creating a BroadcastReceiver that then starts your launch Activity when it receives an intent with the BOOT_COMPLETED action.

1. Add this permission to your manifest:

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

How to Start an Application at Device Bootup in Android

2. Create a Custom BroadcastReceiver in your project to receive boot up event

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootReceiver extends BroadcastReceiver{

	@Override
	public void onReceive(Context context, Intent intent) {
		Intent i = new Intent(context, MainActivity.class);  
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);  
	}
}

3. Adding the BroadCastReceiver to the Android Manifest

<receiver
android:name=".BootReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

Install the application, and then restart the device. You can see the application will start after the device restarts.

Nilanchala

A blogger, a bit of tech freak and a software developer. He is a thought leader in the fusion of design and mobile technologies. He is the author of Xamarin Mobile Application Development for Android Book (goo.gl/qUZ0XV3), DZone MVB and founder of stacktips.com.

Join The Discussion

Please note: We reserve the right to delete comments that contains snarky remarks, offensive or off-topic. To know more read our comments policy.
  • Fruxinfo Private Limited

    but that function not working Redmi Note 3
    how can sol

  • Danish

    Hii guys please check my code i have been trying to run but boot receiver is not responding how ever i try

    My Boot Receiver

    public class BootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    if (intent.getAction().equals(“android.intent.action.BOOT_COMPLETED”)) {
    Intent i = new Intent();
    i.setClassName(“com.talentcodeworks.callrecorder”, “com.talentcodeworks.callrecorder.callrecorder”);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    Toast.makeText(context,”BOOT”,Toast.LENGTH_SHORT).show();
    }
    }
    }

    I cannot figure it out why is this not working on my vivo android version 5.0

  • gretar

    This was awesome. Those two lines were missing and driving me crazy! Thanks a lot!!!

    android:enabled=”true”
    android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”

  • TominoCZ

    I’ve been looking for this for over a month and I finally found a working solution!
    Thanks to whoever made this tutorial!

  • Federico Capece

    This helped me a lot, thanks