`
liliang1222
  • 浏览: 158606 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android开发:接收sd插拔广播

 
阅读更多

广播接收者( Broadcast Receiver )用于已读接收广播 Intent ,而广播 Intent 的发送是通过调用 Context.sendBroadcast() Context.sendOrderedBroadcast() 或者 Context.sendStickyBroadcast() 来实现的。

         广播接收器只能接收广播,对广播的通知所出反应。

         广播接收器没有用户界面,但是他们可以为他们接收到信息启动一个 Actvity ,或者他们可以使用 NotificationManager 来通知用户

 

订阅感兴趣的广播 Intent

1.       使用代码进行订阅

 

IntentFilter filter = new IntentFilter(“android.provider.Telephony.SMS_RECEIVED”);
IncomingSMSReceiver receiver = new IncomingSMSReceiver();
registerReceiver(receiver ,filter); 

 

2.       AndroidManifest.xml 中进行订阅

<receiver android:name=”.IncomingSMSReceiver”>
  <intent-filter>
     <action android:name=”android.provider.Telephony.SMS-RECEIVER”/>
  <intent-filter>
</receiver>
 

 

一个 BroadcatReceiver 对象的生命周期不超过 5s ,所以在 BroadcastReceiver 不能做一些超时的操作,如果需要完成一项比较耗时的工作,可以通过发送 Intent activity service 来完成

 

------------------------------------------

   从sdk文档中找出插拔卡的Broadcast Action

 


插入sd卡状态变化


拔出sd卡状态变化


 

但是在使用过程中一直无法接收插拔卡事件,后来在网上发现需要添加dataScheme属性

<receiver android:name=".service.MediaMountReceiver">
			<intent-filter>
				<action android:name="android.intent.action.MEDIA_MOUNTED"/>
				<action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
				<data android:scheme="file"/>
			</intent-filter>
		</receiver>

 

引用:该文章讲解intentFilter挺好的

http://blog.csdn.net/silenceburn/article/details/6083375

  • 大小: 36.4 KB
  • 大小: 3.7 KB
  • 大小: 6.5 KB
分享到:
评论

相关推荐

    Android开发:AndroidStudio:服务与广播接收器完全指南.pdf

    Android开发:AndroidStudio:服务与广播接收器完全指南.pdf

    android检测U盘插拔事件

    &lt;action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" /&gt; ``` 另一种可能的方法是通过Service或者Activity中的生命周期方法来检测U盘状态的变化,但这通常不太可靠,因为U盘插拔可能不会...

    Android Studio—接受多个广播、广播传递数据.zip

    在Android应用开发中,BroadcastReceiver(广播接收器)是一个关键组件,它允许应用程序接收和响应系统或自定义广播事件。Android Studio是Google官方推出的集成开发环境,专门用于Android应用开发。本教程将深入...

    Android入门:广播发送者与广播接收者详细介绍

    在Android开发中,广播(Broadcast)是一种非常重要的组件,它允许应用程序之间相互通信,即使它们并未直接相互关联。广播发送者(Broadcast Sender)和广播接收者(Broadcast Receiver)是实现这种通信的关键部分。...

    基于Android的广播接收器的设计与应用.pdf

    基于Android的广播接收器的设计与应用 本文主要介绍了基于Android的广播接收器的设计与应用。 Android系统通过广播接收器可以实时监听系统中的广播信息,当用户使用手机时,如遇到电话或者短信,系统会将电话或短信...

    Android 操作以太网,监听网线插拔和以太网开关,设置以太网静态IP等

    这个项目已经很老了,其实是从 Android 4.4.4 的系统 Settings 中 copy 出来的。 其实原理都是编译运行系统 ...Android 操作以太网的项目,提供了监听网线插拔和以太网开关,设置以太网静态IP、网关、子网掩码、dns等。

    Android项目设计与开发:广播的概念.ppt

    嵌入式Android项目设计与开发 第五章 广播 ——广播的概念 概念 广播:广播是Android四大组件之一。系统中某种事件产生后会往外发送一个消息,该消息可以发送到系统每一个角落(这种消息也可以用户自己发出)。这种...

    Android的广播接收者

    理解并掌握广播接收者的使用是Android开发中的关键技能之一。 **广播接收者的注册** 1. **静态注册**:在AndroidManifest.xml文件中声明广播接收者,这种方式的广播接收者在系统启动时就会被创建,即使应用没有运行...

    解决全志A64 Android6.0第三方应用无法接收到开机广播补丁

    在Android系统中,广播接收器(Broadcast Receiver)是应用程序组件之一,它允许应用程序接收并响应系统或其它应用程序发送的广播消息。例如,开机广播是一种常见的系统广播,当设备启动时,系统会发出这个广播,让...

    Android项目设计与开发:静态接收器.ppt

    嵌入式Android项目设计与开发 第五章 广播 ——静态接收器 静态接收器 静态接收器概念: 静态接收器并不是通过代码定义过滤器和接收器对象,而是在注册文件中注册的。 当应用被安装之后,该接收器就已经存在并启动了...

    Android项目设计与开发:有序广播.ppt

    嵌入式Android项目设计与开发 第五章 广播 ——有序广播 有序广播 有序广播特点: 有序广播触发后,只有优先级最高的接收器可以收到信息,它在完成onReceive方法后再次转发该广播,让下一优先级最高接收器接收信息。...

    android 广播接收完整源码

    在Android系统中,广播接收器(Broadcast Receiver)是四大组件之一,它负责监听并响应系统或应用程序发布的广播意图(Intent)。本资源提供的“android 广播接收完整源码”应该包含了一个实现广播接收功能的完整...

    android 广播发送接收UDP

    1、用来测试Android手机为啥接收不到UDP广播报文。

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

    &lt;uses-permission android:name="android.permission.SEND_SMS"&gt; &lt;uses-permission android:name="android.permission.RECEIVE_SMS"&gt; &lt;uses-permission android:name="android.permission.READ_SMS"&gt; 2. Android...

    android USB插拔事件

    一个很实用的test,检测USB的插拔事件

    Android广播onReceiver回调更新ui

    在实际开发中,这涉及到对Android广播机制的理解、广播接收器的注册与管理、onReceive()回调的使用以及安全地更新UI的策略。掌握这些知识点有助于构建一个能够及时响应系统事件并提供反馈的应用程序。

    Android U盘插拔监听详细版以及U盘写入权限解决办法

    &lt;uses-feature android:name="android.hardware.usb.host" android:required="false" /&gt; ``` **二、U盘写入权限** 在Android 6.0(API级别23)及以上版本,用户需要在运行时授予应用写入外部存储(如U盘)的权限。...

    Android U盘插拔监听以及U盘写入权限解决办法

    要监听U盘的插入和拔出事件,我们需要注册一个BroadcastReceiver来接收ACTION_USB_DEVICE_ATTACHED和ACTION_USB_DEVICE_DETACHED广播。 1. 创建BroadcastReceiver: ```java public class UsbBroadcastReceiver ...

    android 跨应用程序广播发送接受

    在Android系统中,跨应用程序广播(Cross-App Broadcasting)是一种通信机制,允许应用程序之间传递消息,无需知道接收方确切的身份。这种机制对于组件间的解耦合以及系统事件的全局通知非常有用。本篇文章将深入...

Global site tag (gtag.js) - Google Analytics