1. 不管以何种方式卸载(正常卸载拔出、正常卸载不拔出 sd 卡、直接拔出 sd 卡)
系统都会发出下面的 action 广播
ACTION_MEDIA_EJECT
ACTION_MEDIA_UNMOUNTED
2. 不管以何种方式安装 sd 卡,系统都会发出下面的 action 广播
file:///C:/Users/liuwei/AppData/Local/YNote/data/liuwei372**34@163.com/53360e9f49a1449fbfe5073c287a4dbb/7956623_1435.png
3. ACTION_MEDIA_REMOVED 与 ACTION_MEDIA_UNMOUNTED 区别
ACTION_MEDIA_REMOVED
表示 sdcard 已经从卡槽移除。
ACTION_MEDIA_UNMOUNTED
只可以说明 sd 卡没有 mount 在文件系统上面,不可以说明其已经从卡槽移除。
从测试 4 就可以看出这个端倪。
4. ACTION_MEDIA_REMOVED 与 ACTION_MEDIA_BAD_REMOVAL 区别
ACTION_MEDIA_BAD_REMOVAL
只有在直接拔出 sd 卡时,系统才会发送这样的 action 广播。
ACTION_MEDIA_REMOVED
不管何种方式从卡槽拔出 sd 卡时,系统就会发送这样的 action 广播。
5. 选择通过 usb 共享,系统一定会发出下面的 action 广播
ACTION_MEDIA_SHARED
ok,明白上面的道理(你基于的开发平台是否是这样,你还需要测试,我这里只是抛砖引玉),可以在接收到这些广播的时候,根据 action 写自己的逻辑代码了。如: