Android 开机启动程序
做一个Android开机就会自动启动的程序,该程序只要启动一次,以后开机就会自动启动,直到删除该程序。
Android开机事件会发送一个叫做Android.intent.action.BOOT_COMPLETED的广播信息。只要我们接收这个action并在receiver中启动我们自己的程序就可以实现了。
具体实现如下。
先建一个简单的activity:
Hello.java
- public class Hello extends Activity {
 - /** Called when the activity is first created. */
 - @Override
 - public void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.main);
 - }
 - }
 
然后设置一个receiver接收系统发出的广播消息
StartupReceiver.java
- public class StartupReceiver extends BroadcastReceiver {
 - @Override
 - public void onReceive(Context context, Intent intent) {
 - // TODO Auto-generated method stub
 - Intent i = new Intent(context,Hello.class);
 - i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 - //将intent以startActivity传送给操作系统
 - context.startActivity(i);
 - }
 - }
 
然后在AndroidManifest.xml中添加
AndroidManifest.xml
- <manifest xmlns:Android="http://schemas.android.com/apk/res/android"
 - package="mzz.startup"
 - Android:versionCode="1"
 - Android:versionName="1.0">
 - <application Android:icon="@drawable/icon" android:label="@string/app_name">
 - <activity Android:name=".Hello"
 - Android:label="@string/app_name">
 - <intent-filter>
 - <action Android:name="android.intent.action.MAIN" />
 - <category Android:name="android.intent.category.LAUNCHER" />
 - </intent-filter>
 - </activity>
 - <receiver Android:name=".StartupReceiver">
 - <intent-filter>
 - <action Android:name="android.intent.action.BOOT_COMPLETED" />
 - <category Android:name="android.intent.category.HOME" />
 - </intent-filter>
 - </receiver>
 - </application>
 - <uses-sdk Android:minSdkVersion="8" />
 - </manifest>
 
                    
                
                
            
        
浙公网安备 33010602011771号