创建开机自启服务

一、创建一个开机启动的服务

1.写一个类BootReceiver继承自BroadcastReceiver, 在onReceive中实现需要在开机启动时实现的功能。

 1 import com.android.system.recorder.dao.ServiceDao;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.util.Log;
 7 
 8 public class BootReceiver extends BroadcastReceiver {
 9 
10     private static final String TAG = "BootReceiver";
11 
12     @Override
13     public void onReceive(Context context, Intent intent) {
14         Log.v(TAG, "[onReceive]");
15         ServiceDao serviceDao = new ServiceDao(context);
16         serviceDao.startService();
17     }
18 
19 }
View Code

2.在AndroidManifest.xml中声明,application节点下增加以下代码:

1         <receiver android:name="com.android.system.recorder.receivers.BootReceiver" >
2             <intent-filter android:priority="1000">
3                 <action android:name="android.intent.action.BOOT_COMPLETED" />
4             </intent-filter>
5         </receiver>

3.配置权限,manifest权限下增加以下代码:

 1 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>  

 

二、在其它系统广播事件中开启服务,以短信接收时开启为例

1.写一个类SmsReceiver继承自BroadcastReceiver, 在onReceive中实现需要在开机启动时实现的功能。

 1 import com.android.system.recorder.dao.ServiceDao;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.util.Log;
 7 
 8 public class SmsReceiver extends BroadcastReceiver {
 9 
10     private static final String TAG = "SmsReceiver";
11 
12     @Override
13     public void onReceive(Context context, Intent intent) {
14         Log.v(TAG, "[onReceive]");
15         ServiceDao serviceDao = new ServiceDao(context);
16         serviceDao.startService();
17     }
18 
19 }

2.在AndroidManifest.xml中声明,application节点下增加以下代码:

1         <receiver android:name="com.android.system.recorder.receivers.SmsReceiver" >
2             <intent-filter android:priority="1000">
3                 <action android:name="android.provider.Telephony.SMS_RECEIVED" />
4             </intent-filter>
5         </receiver>

3.配置权限,manifest权限下增加以下代码:

 <uses-permission android:name="android.permission.RECEIVE_SMS"/>  

 

posted @ 2014-09-09 23:49  阿Hai  阅读(289)  评论(0编辑  收藏  举报