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

Android开机启动Service

2012-03-08 23:06 211 查看
软件环境:Windows 7

开发工具:Eclipse\ADT\SDK

模拟器:SDK2.2

-------------------------------------------------------------------------------------------------------------------------------------------------------------

继承自Service的MyService类

MyService:

public class MyService extends Service {

@Override
public IBinder onBind(Intent arg0) {
return null;
}

@Override
public void onCreate() {
super.onCreate();
System.out.println("--->>>Create service!");
}

}

继承自BroadCastReceiver的MyBroadcastReceiver类

MyBroadcastReceiver.java:

public class MyBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
intent.setClass(context, MyService.class);
//启动Service
context.startService(intent);
}
}


最后要在AndroidManifest.xml中注册receiver和service(很重要!):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jack.bootservice"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<service android:name=".MyService"></service>
</application>
</manifest>


然后run android app,



Done !之后,重启模拟器



启动完成后,打开Logcat查看Systemout标签下的打印:



查看打印,输出为"--->>>Create service!"与之前程序中输出一致,查看系统中正在运行的服务,可以看到



我们之前的MyService正在运行中,说明开机启动Service成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: