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>
     
  • 相关阅读:
    Django(03):Django 创建第一个项目
    Django(02):Django安装
    Django(01):Django简介
    对程序员来说,看透生死远远没有操作0和1那么简单
    一个中年程序员遇到突发情况的一些胡言乱语
    gradle查看项目属性列表
    有道云笔记到简书的迁移工具
    pygame.mixer.Channel--音频通道
    pygame.mixer.Sound音频
    pygame--图像变换
  • 原文地址:https://www.cnblogs.com/Chenshuai7/p/5434868.html
Copyright © 2011-2022 走看看