• 创建开机自启服务


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

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

    代码养活自己
  • 相关阅读:
    JZOJ Contest2633 总结
    6813. 【2020.10.05提高组模拟】送信
    HDU 1506 最大子矩形
    2020.10.07【NOIP提高A组】模拟 总结
    6815. 【2020.10.06提高组模拟】树的重心
    2020.10.06【NOIP提高A组】模拟 总结
    2020.10.05【NOIP提高A组】模拟 总结
    gmoj 3976. 【NOI2015模拟1.17】⑨
    2020.09.26【省选组】模拟 总结
    2020.09.19【省选组】模拟 总结
  • 原文地址:https://www.cnblogs.com/diysoul/p/3963598.html
Copyright © 2020-2023  润新知