Skip to main content

Launch an Android application on Bootup


If you want to start an android application on device restarts, you need to listen for BOOT_COMPLETED broadcast in the manifest file and launch the Launcher activity in onreceive of BOOT_COMPLETED broadcast receiver.

Follow below steps to launch activity on device boot up :-

1. Register for Boot completed receiver in Android Manifest file.


Add below Permission to receive BOOT_COMPLETED broadcast,

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

Register for Boot completed broadcast receiver ,

<receiver
    android:name="AppAutostartReceiver"
    android:enabled="true" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

2. Add custom Broadcast receiver in the application,


public class AppAutostartReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent i = new Intent(context, LauncherActivity.class); // Launch application here..
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
}


Comments

Popular posts from this blog

Adding Call log entries in Native Call Logs

While adding call logs we can set number in CallLog.Calls.NUMBER field , same for date  and duration. CallLog.Calls.CACHED_NAME will be filled with the cached name in case if the number is already saved in Contacts database. ContentValues values = new ContentValues(); values.put(CallLog.Calls.NUMBER, number); values.put(CallLog.Calls.DATE, System.currentTimeMillis()); values.put(CallLog.Calls.DURATION, 0); values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE); //Type of call Outgoing/Incoming/Missed etc values.put(CallLog.Calls.NEW, 1); values.put(CallLog.Calls.CACHED_NAME, ""); values.put(CACHED_NUMBER_TYPE, 0); values.put(CACHED_NUMBER_LABEL, ""); this.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values); Below Permissions are required to add call logs , add it in Manifest file, <uses-permission android:name="android.permission.WRITE_CALL_LOG"></uses-permission> <uses-permission android:name="android.perm...