Transferred from: http://blog.sina.com.cn/s/blog_72f6e45701014l6t.html
Sometimes apps need to run automatically when they're powered on, such as a back-office service that automatically updates content from the Web. How to realize the application of automatic running on the boot? At the time of writing, Lenovo to Mr. Gao to "Don t call me, I'll call you back!" Summarizing the Android framework, it's really a point. Understanding the meaning of this sentence, many of the Android platform to achieve a certain function of the problem, can be solved.
Usage Scenarios: After the phone is powered on, it automatically runs the program and displays "Hello" on the screen. I started! " Words.
Background Knowledge:When Android starts, it emits a system broadcast with the contents of action_boot_completed, whose string constants are represented as Android.intent.action.BOOT_COMPLETED. Just "snap" to this message in the program and start it again. Remember, the Android framework says "Don ' tcall me, I'll call Youback." What we have to do is prepare to receive the message, and the means to achieve it is to achieve a broadcastreceiver. Code parsing: 1, interface Activity:sayhello.java package Com.ghstudio.bootstartdemo; import Android.app.activity; import Android.os.bundle; import android.widget.textview; public class SayHello Extendsactivity { @Override public void onCreate (Bundle savedinstancestate) { super.oncreate (savedinstancestate) TEXTVIEWTV = new TextView (this); tv.settext ("Hello. I started! "); setcontentview (TV); } } This code is simple, when the activity starts, create a textview, and use it to display "Hello." I started! " Words. &NBSP;2, receiving broadcast message: Bootbroadcastreceiver.java package Com.ghstudio.bootstartdemo; importandroid.content.broadcastreceiver; import Android.content.context; import Android.content.intent; public Class Bootbroadcastreceiverextends broadcastreceiver { static finalString ACTION = " Android.intent.action.BOOT_COMPLETED "; @Override public voidonreceive (Context Context, Intent Intent) { if (Intent.getaction (). Equals (ACTION)) { Intent sayhellointent=newintent (Context,sayhello.class); sayhellointent.addflags (Intent.flag_activity_new_task); Context.startactivity (sayhellointent); } } } the class derives from Broadcastreceiver, The Load method OnReceive, detects whether the received intent is in accordance with boot_completed, and if so, initiates sayhello that activity. 3, configuration file: Androidmanifest.xml <?xml version= "1.0" encoding= "Utf-8"?> <manifestxmlns: Android= "Http://schemas.android.com/apk/res/android" package= "Com.ghstudio.BootStartDemo" android:versioncode= "1" android:versionname= "1.0" > <applicationandroid:icon= "@drawable/icon" Android:label= "@string/app_name" > <activity android:name= ". SayHello " android:label=" @string/app_name "> <intent-filter> <actionandroid:name= "Android.intent.action.MAIN"/> <categoryandroid:name= "Android.intent.category.LAUNCHER"/> </intent-filter> </activity> < Receiverandroid:name= ". Bootbroadcastreceiver "> <intent-filter>
<actionandroid:name= "Android.intent.action.BOOT_COMPLETED"/></intent-filter> </receiver> </application> <uses-sdkandroid:minsdkversion= "3"/> < Uses-permissionandroid:name= "Android.permission.RECEIVE_BOOT_COMPLETED" ></uses-permission> </ Manifest> Note that part of the bold word, the node registers a receiver with the system, and the child node Intent-filter represents the receiving Android.intent.action.BOOT_COMPLETED message. Don't forget to configure
Android.permission.RECEIVE_BOOT_COMPLETED permissions.
code Download Http://pan.baidu.com/s/1hqgQhik
Android---Get your apk program to run automatically (GO)