您的位置:首页 > 移动开发 > Android开发

Android 开机启动程序

2011-08-09 17:35 519 查看
做一个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>

这样启动了一次该程序之后,以后开机就会自动启动该程序了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: