Jump to content

Auto Launching Apps/Widgets


Guest Sami Beck

Recommended Posts

Guest t0mm13b

Yes it is.

There's a broadcast message that is sent upon boot up called ACTION_BOOT_COMPLETED. A broadcast receiver is rigged up in place to "listen" for the intent message.


public class MyAppBoot extends BroadcastReceiver{

        private static final String TAG = "MyAppBoot";

        @Override

        public void onReceive(Context context, Intent intent) {

                if (intent != null && intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){

                        AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);

                        Intent i=new Intent(context, MyAppBootAlarm.class);

                        PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);

                        mgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+45, pi);

                }

        }

}

Once the message is received, best practice dictates that you set a timer after the boot message is processed, in order to give the system a chance to "settle" down, in the above example, a broadcast for the alarm will trigger in 45 seconds.

It is considered bad practice to hog up the boot process. Once the alarm gets fired it will trigger a broadcast message similar to the above sample and from there, spin up the app.

There is such an app - if you look in the market for Auto run or auto start

But be careful not to hog up your handset when booting - which would slow it down and lead you to thinking that something is wrong.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.