android用服务service与广播broadcastreceiver创建开机启动服务

本文介绍了一种在Android设备上实现应用开机自启动的方法。通过创建广播接收器监听开机完成事件,并启动自定义服务来定时推送消息到前台。具体步骤包括创建广播接收器、服务组件并在AndroidManifest.xml中配置必要的权限。
    原理:注册广播接受者收到开机启动信息,然后启动服务,服务做操作(例如从后台接收消息后显示在任务栏上面去,从而达到消息推送的效果)
    1.创建广播接受者
<pre class="html" name="code" snippet_file_name="blog_20160312_3_9845105" code_snippet_id="1607321">public class BootBroadcastReceiver extends BroadcastReceiver {
@Override public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context,ServiceCrack.class);
context.startService(service); Log.d("test","开机自启动服务"); }
}

2.创建服务
<pre class="html" name="code" snippet_file_name="blog_20160312_9_8809520" code_snippet_id="1607321">public class ServiceCrack extends Service {
    @Nullable @Override public IBinder onBind(Intent intent) {
    return null;
    }
    @Override public void onCreate() {
    super.onCreate();
    new Thread(){
    @Override public void run() {
    super.run();
    int i = 1;
    while(true){
    Log.d("test","收到消息"+i);
    i++;
    try {
    sleep(5000);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    }
    }
    }.start(); }}

    3.在xml文件中添加权限以及描述广播和服务
    <pre class="html" name="code"> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

        <service
            android:name=".service.ServiceCrack"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
        </service>

        <receiver android:name=".broadcast.BootBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值