Android Boot up program
Last Update:2016-02-19
Source: Internet
Author: User
<span id="Label3"></p><p><p>Background: when Android starts, a system broadcast will be issued, the content is action_boot_completed, its word<br>The string constant is expressed as android.intent.action.BOOT_COMPLETED. Just "snap" to this message in the program and start the<br>Can. Keep in mind that the Android framework says, "don't call me, I'll be back." What we have to do is prepare to receive the message, and<br>The means of realization is to realize a broadcastreceiver.</p></p><p><p>1. Interface Activity,bootstartdemo.java File</p></p><p><p></p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567891011121314151617181920212223242526</td> <td class="code"><code class="java keyword"><code class="java keyword">public</code></code><code class="java keyword"><code class="java keyword">class</code></code><code class="java plain"><code class="java plain">BootStartDemo </code></code><code class="java keyword"><code class="java keyword">extends</code></code><code class="java plain"><code class="java plain">Activity {</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java preprocessor"><code class="java preprocessor">/** Called when the activity is first created. */</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java color1"><code class="java color1">@Override</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java keyword"><code class="java keyword">public</code></code><code class="java keyword"><code class="java keyword">void</code></code><code class="java plain"><code class="java plain">onCreate(Bundle savedInstanceState) {</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java keyword"><code class="java keyword">super</code></code><code class="java plain"><code class="java plain">.onCreate(savedInstanceState);</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java comments"><code class="java comments">// 无title</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">requestWindowFeature(Window.FEATURE_NO_TITLE);</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java comments"><code class="java comments">// 全屏</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">WindowManager.LayoutParams.FLAG_FULLSCREEN);</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">setContentView(R.layout.main);</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java keyword"><code class="java keyword">new</code></code><code class="java plain"><code class="java plain">Thread() {</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java keyword"><code class="java keyword">public</code></code><code class="java keyword"><code class="java keyword">void</code></code><code class="java plain"><code class="java plain">run() {</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java keyword"><code class="java keyword">try</code></code><code class="java plain"><code class="java plain">{</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java comments"><code class="java comments">/* 10秒后关闭页面*/</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">sleep(</code></code><code class="java value"><code class="java value">10000</code></code><code class="java plain"><code class="java plain">);</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">} </code></code><code class="java keyword"><code class="java keyword">catch</code></code><code class="java plain"><code class="java plain">(Exception e) {</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">e.printStackTrace();</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">} </code></code><code class="java keyword"><code class="java keyword">finally</code></code> <code class="java plain"><code class="java plain">{</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">finish(); </code></code><code class="java comments"><code class="java comments">// 关闭页面</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">}</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">}</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">}.start();</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">}</code></code><code class="java plain"><code class="java plain">}</code></code></td> </tr> </tbody> </table><p><p>This code is very simple, when the activity starts, will display the textview, uses it to display the typeface which you want to display, and this page only displays 10 seconds Disappears.</p></p><p><p>2<span style="background-color: #ffff00;">. Receive broadcast message: Bootbroadcastreceiver.java</span></p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter"><span style="background-color: #ffff00;">1</span> <span style="background-color: #ffff00;">2</span> <span style="background-color: #ffff00;">3</span> <span style="background-color: #ffff00;">4</span> <span style="background-color: #ffff00;">5</span> <span style="background-color: #ffff00;">6</span> <span style="background-color: #ffff00;">7</span> <span style="background-color: #ffff00;">8</span> <span style="background-color: #ffff00;">9</span> <span style="background-color: #ffff00;">Ten</span> <span style="background-color: #ffff00;"></span> one <span style="background-color: #ffff00;"></span> a <span style="background-color: #ffff00;"></span> - <span style="background-color: #ffff00;"></span> -</td> <td class="code"><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java keyword">public</code> <code class="java keyword">class</code> <code class="java plain">BootBroadcastReceiver </code><code class="java keyword">extends</code> <code class="java plain">BroadcastReceiver {</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java keyword">static</code> <code class="java keyword">final</code> <code class="java plain">String action_boot=</code><code class="java string">"android.intent.action.BOOT_COMPLETED"</code><code class="java plain">;</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"> </span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java color1">@Override</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java keyword">public</code> <code class="java keyword">void</code> <code class="java plain">onReceive(Context context, Intent intent) {</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java keyword">if</code> <code class="java plain">(intent.getAction().equals(action_boot)){</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain">Intent ootStartIntent=</code><code class="java keyword">new</code> <code class="java plain">Intent(context,BootStartDemo.</code><code class="java keyword">class</code><code class="java plain">);</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain">ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain">context.startActivity(ootStartIntent);</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain">}</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"> </span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain">}</code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"> </span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java plain">}</code></span></span></td> </tr> </tbody> </table><p><p><span style="background-color: #ffff00;">The class continues to be self-broadcastreceiver, in the onreceive of the method, to detect whether the received Intent conforms to the</span><br><span style="background-color: #ffff00;">boot_completed, If compliant, initiates Bootstartdemo this Activity.</span></p></p><p><p>3. Configuration Files</p></p><p><p>(1) Androidmanifest.xml:</p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567891011121314151617181920212223</td> <td class="code"><code class="java plain"><code class="java plain"><?xml version=</code></code><code class="java string"><code class="java string">"1.0"</code></code><code class="java plain"><code class="java plain">encoding=</code></code><code class="java string"><code class="java string">"utf-8"</code></code><code class="java plain"><code class="java plain">?></code></code><code class="java plain"><code class="java plain"><!-- 这是一个开机自启动程序 --></code></code><code class="java plain"><code class="java plain"><manifest xmlns:android=</code></code><code class="java string"><code class="java string">"http://schemas.android.com/apk/res/android"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java keyword"><code class="java keyword">package</code></code><code class="java plain"><code class="java plain">=</code></code><code class="java string"><code class="java string">"com.ajie.bootstartdemo"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:versionCode=</code></code><code class="java string"><code class="java string">"1"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:versionName=</code></code><code class="java string"><code class="java string">"1.0"</code></code><code class="java plain"><code class="java plain">></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"><application android:icon=</code></code><code class="java string"><code class="java string">"@drawable/icon"</code></code><code class="java plain"><code class="java plain">android:label=</code></code><code class="java string"><code class="java string">"@string/app_name"</code></code><code class="java plain"><code class="java plain">></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"><activity android:name=</code></code><code class="java string"><code class="java string">".BootStartDemo"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:label=</code></code><code class="java string"><code class="java string">"@string/app_name"</code></code><code class="java plain"><code class="java plain">></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"><intent-filter></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"><action android:name=</code></code><code class="java string"><code class="java string">"android.intent.action.MAIN"</code></code><code class="java plain"><code class="java plain">/></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"><category android:name=</code></code><code class="java string"><code class="java string">"android.intent.category.LAUNCHER"</code></code><code class="java plain"><code class="java plain">/></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"></intent-filter></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"></activity></code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain"><span style=</code></code><code class="java string"><code class="java string">"color: #ff00ff;"</code></code><code class="java plain"><code class="java plain">><span style="background-color: #ffff00;"><receiver android:name=</span></code></code><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java string">".BootBroadcastReceiver"</code><code class="java plain">></code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain"><intent-filter></code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain"><action android:name=</code><code class="java string">"android.intent.action.BOOT_COMPLETED"</code> <code class="java plain">/></code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain"><category android:name=</code><code class="java string">"android.intent.category.HOME"</code> <code class="java plain">/></code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain"></intent-filter></code></span></span><span style="background-color: #ffff00;"><span style="background-color: #ffff00;"><code class="java spaces"> </code><code class="java plain"></receiver></code></span></span><code class="java plain"><code class="java plain"></span> </application></code></code><code class="java plain"><code class="java plain"><span style=</code></code><code class="java string"><code class="java string">"color: #ff00ff;"</code></code><code class="java plain"><code class="java plain">><strong><uses-permission android:name=</code></code><code class="java string"><code class="java string">"<span style="background-color: #ffff00;">android.permission.RECEIVE_BOOT_COMPLETED</span>"</code></code><code class="java plain"><code class="java plain">></uses-permission></strong></code></code><code class="java plain"><code class="java plain"></span></manifest></code></code></td> </tr> </tbody> </table><p><p><span style="background-color: #ffff00;">Note that the color is red that part of the node registers a receiver with the system, and the child node Intent-filter indicates the receiving</span><br><span style="background-color: #ffff00;">Android.intent.action.BOOT_COMPLETED Message. And also configure Android.permission.RECEIVE_BOOT_COMPLETED Permissions.</span></p></p><p><p>(2) Layout file, Main.xml</p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567891011121314151617</td> <td class="code"><code class="java plain"><code class="java plain"><?xml version=</code></code><code class="java string"><code class="java string">"1.0"</code></code><code class="java plain"><code class="java plain">encoding=</code></code><code class="java string"><code class="java string">"utf-8"</code></code><code class="java plain"><code class="java plain">?></code></code><code class="java plain"><code class="java plain"><LinearLayout xmlns:android=</code></code><code class="java string"><code class="java string">"http://schemas.android.com/apk/res/android"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:orientation=</code></code><code class="java string"><code class="java string">"vertical"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:layout_width=</code></code><code class="java string"><code class="java string">"fill_parent"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:layout_height=</code></code><code class="java string"><code class="java string">"fill_parent"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">></code></code><code class="java plain"><code class="java plain"><TextView </code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:layout_width=</code></code><code class="java string"><code class="java string">"fill_parent"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:layout_height=</code></code><code class="java string"><code class="java string">"fill_parent"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:text=</code></code><code class="java string"><code class="java string">"@string/boottext"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:textColor=</code></code><code class="java string"><code class="java string">"#5F2DD2"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:background=</code></code><code class="java string"><code class="java string">"#FFFFFF"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:textSize=</code></code><code class="java string"><code class="java string">"60px"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">android:gravity=</code></code><code class="java string"><code class="java string">"center_horizontal"</code></code><code class="java spaces"><code class="java spaces"> </code></code><code class="java plain"><code class="java plain">/></code></code><code class="java plain"><code class="java plain"></LinearLayout></code></code></td> </tr> </tbody> </table><p><p>When you are done, compile the APK package and install it in the emulator or PHONE. shutdown, reboot, will show Bootstartdemo this activity shows the Page.</p></p><p><p>Android Boot up program</p></p></span>