• 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>
     
  • 相关阅读:
    nginx转发域名小记
    简化kubernetes应用部署工具之Helm应用部署
    docker-compose的使用
    使用二进制包安装k8s
    搭建k8s(一)
    linux环境下安装使用selenium Chrome
    常用User-Agent大全
    缓存之Memcache
    git-commit Angular规范
    Kubernetes介绍及基本概念
  • 原文地址:https://www.cnblogs.com/Chenshuai7/p/5434868.html
Copyright © 2020-2023  润新知