zoukankan      html  css  js  c++  java
  • Android——开机启动功能(Service和BroadcastReceiver)


    BroadcastReceiver(广播接收器):发出广播让服务器去接收
    BootReceiver.java
    package com.example.chenshuai.test321;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;
    
    public class BootReceiver extends BroadcastReceiver {
        public BootReceiver() {
    
            Log.e("TAG","构造开机完成广播接收器");
        }
    
        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO: This method is called when the BroadcastReceiver is receiving
            // an Intent broadcast.
            //throw new UnsupportedOperationException("Not yet implemented");
    
            //启动服务
            context.startService(new Intent(context,BootService.class));
    
            Log.e("TAG", "广播接收器自动启动Service");
    
    
        }
    }
    Service:接收广播传过来的意图
    BootService.java
    package com.example.chenshuai.test321;
    
    import android.app.Service;
    import android.content.Intent;
    import android.os.IBinder;
    import android.util.Log;
    
    public class BootService extends Service {
        public BootService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            // TODO: Return the communication channel to the service.
            //throw new UnsupportedOperationException("Not yet implemented");
    
            return null;
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
    
            Log.e("TAG","服务自动启动了");
        }
    }

    在manifest.xml中调至相同频率/同时设置权限

    <!--接收开机完成的广播权限-->
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    
    
     <service
                android:name=".BootService"
                android:enabled="true"
                android:exported="true" />
    
            <receiver
                android:name=".BootReceiver"
                android:enabled="true"
                android:exported="true">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED"/>
                </intent-filter>
            </receiver>
     
  • 相关阅读:
    gcc帮助资料搜找
    由去掉word文档中的一个GoLand复制后残留的底纹说起
    记录一些有趣网站的链接
    linux cpu调度算法发展过程
    啥叫内核线程-搜集
    了解了下啥叫cfs/bfs
    c++重载运算符两种形式的选择
    概念-乐观锁、悲观锁
    go 移位操作的简单自测-移33或65位
    Shell脚本:(delayexec)Cygwin下调用schtasks创建Windows任务计划,实现延迟或定时执行某一命令
  • 原文地址:https://www.cnblogs.com/Chenshuai7/p/5434868.html
Copyright © 2011-2022 走看看