Android Broadcast Receiver

简介: 说明有时候我们在做android系统软件的时候,经常会需要做的事就是开机重新设置上次关机前的状态,当然,我们就会用到这个开机广播:利用这个开机广播,我们可以将上次app设置的数据,开机后设置回系统,这样看上去系统就像上次的状态。

说明

有时候我们在做android系统软件的时候,经常会需要做的事就是开机重新设置上次关机前的状态,当然,我们就会用到这个开机广播:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

利用这个开机广播,我们可以将上次app设置的数据,开机后设置回系统,这样看上去系统就像上次的状态。

Demo使用方法

AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<?xml version="1.0" encoding="utf-8"?>
    package="com.zengjf.ethernet"
    android:versionCode="1"
    android:versionName="1.0"
    android:sharedUserId="android.uid.system" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/theme" >
        ......
        <receiver android:name="com.zengjf.ethernet.BootBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>
    </application>

    <!-- 开机启动权限 -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
</manifest>
BootBroadcastReceiver.java
package com.zengjf.ethernet;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources.Theme;
import android.util.Log;

public class BootBroadcastReceiver extends BroadcastReceiver{
    /**
     * 背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,
     * 它的字符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”
     * 到这个消息,再启动之即可。记住,Android框架说:Don''t call me, I''ll call you back。
     * 我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver。
     */
    static final String action_boot="android.intent.action.BOOT_COMPLETED";
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(action_boot)){
            new EthernetManager(context).resetInterface();
        }   
    }
}

总结

站在使用的角度来说,所有的Android的应用都是可以有这些功能的,像我们常用的一些软件,开机就开始跟踪我们的一些数据的后台程序,其一般都使用了这些功能。

目录
相关文章
|
6月前
|
设计模式 Android开发
[Android 四大组件] --- BroadcastReceiver
[Android 四大组件] --- BroadcastReceiver
59 0
|
6月前
|
安全 Java Shell
Android发送广播时报错:Sending non-protected broadcast xxxxxxx from system xxxxxxxxxx
Android发送广播时报错:Sending non-protected broadcast xxxxxxx from system xxxxxxxxxx
827 0
|
5月前
|
设计模式 Android开发
44. 【Android教程】广播接收器:Broadcast Receiver
44. 【Android教程】广播接收器:Broadcast Receiver
76 2
|
6月前
|
存储 Android开发
Android插件化-Broadcast篇,2024年最新安卓面试自我介绍
Android插件化-Broadcast篇,2024年最新安卓面试自我介绍
|
6月前
|
Android开发 Kotlin
android开发,使用kotlin学习BroadcastReceiver
android开发,使用kotlin学习BroadcastReceiver
223 0
|
6月前
|
XML Java Android开发
Android Studio App开发之监听系统广播Broadcast的讲解及实战(包括接收分钟到达广播、网络变更广播、定时管理器等 附源码)
Android Studio App开发之监听系统广播Broadcast的讲解及实战(包括接收分钟到达广播、网络变更广播、定时管理器等 附源码)
426 0
|
6月前
|
XML 安全 Java
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
520 0
|
Android开发
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信(二)
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信
114 0
|
Android开发
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信(一)
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信
111 0
|
Android开发
Android:四大组件之 Broadcast(广播)
Broadcast 是一种广泛运用的、在应用程序之间传输信息的机制,Android 中的广播与传统意义上的电台广播类似,一个广播可以有任意个接收者,当然也可能不被任何应用程序所接收。广播机制是一个典型的发布-订阅模式,也就是观察者模式。
133 0
Android:四大组件之 Broadcast(广播)