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" />
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.
This helped me a lot, thanks
I’ve been looking for this for over a month and I finally found a working solution!
Thanks to whoever made this tutorial!
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”
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
but that function not working Redmi Note 3
how can sol
You getting any error on console?
i used complete code in android studio .. but after restarting application nothing happen…
Refer this solution – Give the permission from settings.: https://stackoverflow.com/a/36172099/8078641
Actually it’s great and I would to thank the programmer. Only one thing why it’s starting up very slow.