创建开机自启服务

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

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"/>  

 

转载于:https://www.cnblogs.com/diysoul/p/3963598.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值