BroadcastReceiver is registered in Service

1. Implement the BroadcastReceiver interface class ScreenReceiver

package com.itheima.boradcastreceiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class ScreenReceiver extends BroadcastReceiver {
    public ScreenReceiver() {

    }

    @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");
        String str = intent.getAction();
        if (str == Intent.ACTION_SCREEN_OFF){
            System.out.println("屏幕关闭");
        }
        else if (str == Intent.ACTION_SCREEN_ON){
            System.out.println("屏幕打开");
        }
    }
}

2. Register BroadcastReceiver in Service

@Override
    public void onCreate() {
        super.onCreate();
        //注册广播接受者
        //1、创建广播接受者对象
        receiver = new ScreenReceiver();
        //2、创建Intent-filter,意图过滤器
        intentFilter = new IntentFilter();
        intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
        intentFilter.addAction(Intent.ACTION_SCREEN_ON);
        //3、注册广播接受者
        registerReceiver(receiver,intentFilter);
    }

    @Override
    public void onDestroy() {
        //解除注册广播接受者
        super.onDestroy();
        unregisterReceiver(receiver);
    }

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325799023&siteId=291194637