广播接收者案例_sd卡状态监听

(1)定义广播接收者

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

public class SdcardReceiver extends BroadcastReceiver {

    //当sd卡被卸载 或者被挂载上来的时候 会执行
    @Override
    public void onReceive(Context context, Intent intent) {

        //[1]获取到当前广播的事件类型
        String action = intent.getAction();
        //[2]对action做一个判断
        if("android.intent.action.MEDIA_UNMOUNTED".equals(action)){
            System.out.println("说明sd卡 卸载了");

        }else if ("android.intent.action.MEDIA_MOUNTED".equals(action)) {

            System.out.println("说明sd卡挂载了");
        }

    }

}

(2)在清单文件配置一下

     <receiver android:name="com.itheima.sdcardstate.SdcardReceiver">
            <intent-filter >
                <action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
                <action android:name="android.intent.action.MEDIA_MOUNTED"/>
                 <action android:name="android.intent.action."/>
                <!--想让上面的这2个事件生效 必须的加上这样的一个data   -->
                <data android:scheme="file"/>
            </intent-filter>
        </receiver>
时间: 2024-08-29 17:00:45

广播接收者案例_sd卡状态监听的相关文章

Android USB大容量存储时SD卡状态监听(转)

对SD卡状态监听,到现在为止我知道的有两种方式: 1.注册StorageEventListener来监听sd卡状态 StorageEventListener中有onStorageStateChanged()方法,当sd卡状态改变时,此方法会调用,对各状态的判断一般会用到Environment类,此类中包含的有关sd卡状态的常量有: MEDIA_BAD_REMOVAL:表明SDCard 被卸载前己被移除 MEDIA_CHECKING:表明对象正在磁盘检查 MEDIA_MOUNTED:表明sd对象是

Android短信的发送和广播接收者实现短信的监听

原文地址:http://www.cnblogs.com/zyw-205520/archive/2013/01/24/2875686.html Android短信的发送和广播接收者实现短信的监听  要注意Android清单中权限的设置以及广播的注册监听实现 以下就是 Android清单的XML AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" packag

ThinkAndroid框架 网络状态监听原理

ThinkAndroid框架 网络状态监听原理,有需要的朋友可以参考下. 现在用到网络监听的地方越来越广泛,这里提供下ThinkAndroid里的实现方法,还是根据功能原理倒着给出代码: 1.网络状态会发出广播,监听网络状态肯定通过广播接收者实现,广播接受者: /** * @Title NetworkStateReceiver * @Package com.ta.util.netstate * @Description 是一个检测网络状态改变的,需要配置 <receiver * android:

蓝牙那些事之状态监听

对于蓝牙状态的监听事件,此篇文章讲的是对于手机蓝牙的或者是设备自身蓝牙状态的监听,而并非是远程设备蓝牙状态的监听,当然如果要监听远程设备的蓝牙状态也不是没有办法,相对于监听自身蓝牙状态难度更大,资料页相对较少. 如果要监听本身蓝牙状态,还是要注册广播 1 //注册广播接收器(监听蓝牙状态的改变) 2 IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); 3 4 filter.addAction(Bluetoot

网络状态监听

网络状态监听 定义一个广播接收器和状态变化接口 publicclassNetBroadcastReceiverextendsBroadcastReceiver{ publicstaticArrayList<NetEventHandler> mListeners =newArrayList<NetEventHandler>(); privatestaticString NET_CHANGE_ACTION ="android.net.conn.CONNECTIVITY_CHA

app状态监听广播

手机中的应用在安装.更新和卸载时都会发送广播 清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xidian.dy.com.chujia"> <uses-permission android:name=&q

andriod电话状态监听-来电去电

Android在电话状态改变是会发送action为android.intent.action.PHONE_STATE的广播, 而拨打电话时会发送action为 android.intent.action.NEW_OUTGOING_CALL的广播 android 在音乐播放器里面对电话状态的监听,比如:正在播放音乐,来电(去电)则暂停音乐,挂断电话则继续播放音乐. 一.电话活动监听广播 public class PhoneReceiver extends BroadcastReceiver { p

ListView异步加载 LruCache缓存 滑动状态监听

Android异步加载的总结.除了LruCache,我们还可以使用DiskLruCache这个第三方的类来实现"二级缓存".异步加载不仅仅是获取网络资源,我们可以加所有耗时的操作都看成异步加载,所有通过耗时的操作获取的结果我们都可以通过缓存来提高效率,比如我们可以利用这里的LruCache和DiskLruCache(这个缓存一般是用于缓存从网络获取的图片,视频等大的资源,这个时候我们一般和LruCache结合使用),使用Cache有个缺点,就是我们不能保证我们的数据是实时的,所以在re

改进xutils下载管理器,使其,在随意地方进行进度更新,以及其它状态监听操作

1.前面在做下载进度监听.尝试过,通过加入 弱引用的View进度条,到相应的集合. 等到要进行更新进度的时候.通过Key 获取相应的VIew来进行更新 进度条.效果是达到了,可是我们怎样来监听其它的状态呢,不好监听. 2.又想过通过每一个 下载APP.都有一个相应的List<DownloadListem> 对象,然后我们将进度监听.都加入进去,待更新进度的时候. for循环来进行. 可是这样要考虑,activity onResume onPase的时候,不须要更新界面.麻烦事情. 3.最后,方