博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SD卡状态变动receiver接收不到的问题
阅读量:4963 次
发布时间:2019-06-12

本文共 923 字,大约阅读时间需要 3 分钟。

用BroadcastReceiver接收SD卡状态变化的事件时,总是无法收到事件通知,经查是少了以下红色语句。

原因涉及Android中IntentFilter匹配原则问题。这篇文章讲得比较清楚 , 这里就不再赘述。

......

IntentFilter sdcardActionFilter = new IntentFilter();

sdcardActionFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL);
sdcardActionFilter.addAction(Intent.ACTION_MEDIA_REMOVED);
sdcardActionFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
sdcardActionFilter.addDataScheme("file");
SDcardListenerReceiver sdCardStateReceiver = new SDcardListenerReceiver();

registerReceiver(sdCardStateReceiver, sdcardActionFilter);

......

static final class SDcardListenerReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_MEDIA_REMOVED)
  || action.equals(Intent.ACTION_MEDIA_UNMOUNTED)
  || action.equals(Intent.ACTION_MEDIA_BAD_REMOVAL)
) {
...... 
}
}
}

 

转载于:https://www.cnblogs.com/shtzsp/p/3303190.html

你可能感兴趣的文章
TouchDevelop [Mobile App]
查看>>
BZOJ 1861: [Zjoi2006]Book 书架
查看>>
矩阵乘法&&dp加速矩阵的思路(E. Wet Shark and Blocks)
查看>>
Netflix开源的Spring Cloud主机级性能监控框架--Vector
查看>>
HTML5 在泛在电力物联网的 10 大业务领域 2/3D 可视化应用
查看>>
共享Visio和project的下载链接
查看>>
windows mysql提示:1045 access denied for user'root'@'localhost' using password yes
查看>>
etcd 命令
查看>>
生产故障处理思路
查看>>
mysql的SQL_CALC_FOUND_ROWS 使用
查看>>
Quartz 2D编程指南(1) - 概览
查看>>
《Android深度探索卷一》读书笔记一
查看>>
【C语言】Coursera课程《计算机程式设计》台湾大学刘邦锋——Week2课堂笔记
查看>>
Hibernate JPA 如何使用SQL文直接查询
查看>>
synchronized的原理,以及其中的偏向锁
查看>>
数组笔记
查看>>
根据枚举获取枚举的Description特性值
查看>>
26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展
查看>>
5. javascript OOP编程:封装、继承--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...
查看>>
不断更新的 ToDo-List
查看>>