说到android中的U盘的监控,相信小伙伴们已经非常熟悉了。笔者,也就是我,不啰嗦,直接上代码。 首先,写个类继承广播接收者,代码如下:
private class MyUpanReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_MEDIA_MOUNTED.equals(action)) { //U盘连接上了 } else if (Intent.ACTION_MEDIA_REMOVED.equals(action)) { //移除U盘 } }}其次呢,在activity或者fragment中注册,并且在退出当前页面时,注销该广播接收者就可以了。相关代码比较简单,在此不比赘述。好了,废话了一小会,笔者遇到的问题是这样的:所在公司是做车载导航系统的。换句话说,系统中包含多个app应用。当前有U盘插入时,会优先调到其他的应用读取相关信息,之后,再退出当前应用进入笔者所开发应用。问题来了,监控不了,U盘已接入应用了。啥情况?记得当时,搞了一个上午,也没弄出个所以然来。偶然的发现,拔除U盘是可以监控得到的。再有,先进入应用,之后接入U盘,同样也可以监控得到U盘。但是这样的话,就影响用户体验啊。该怎么办、该怎么办、该怎么办。。。到目前为止,笔者想到的办法,就是进入目标应用之前,从其他已监控到U盘的应用中,发送广播。接下来,在目标应用中,接收广播。 写到这里,博文就结束了。笔者技术能力正在提高的路上,欢迎各路大神提出自己的看法与建议,让我们一同进步。最后,分享几个笔者常用的几个链接,希望能够帮助有需要的小伙伴。一:关于自定义View的。[http://hencoder.com/](http://hencoder.com/)二:关于图片压缩优化的。[http://tinypng.com/](http://tinypng.com/)三:在线画流程图工具。[http://go.gliffy.com/go/html5/launch](http://go.gliffy.com/go/html5/launch)复制代码