首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装SD卡后注册FileObserver

安装SD卡后注册FileObserver
EN

Stack Overflow用户
提问于 2012-05-17 04:11:14
回答 1查看 1.4K关注 0票数 2

在我的应用程序中,当捕捉到照片时,我需要增加照片的数量。因此,我为FileObserver设置了一个DCIM directory。它监视捕捉到的照片。

但是,当我卸载SD卡时,这个FileObserver停止监视,因为DCIM directory不再存在。当我挂载SD卡时,在获得FileObserver意图之后,我再次尝试注册android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE。但是FileObserver没有注册。

我的问题是:

  1. 在安装SD卡后,还有其他方法来制作FileObserver手表吗?
  2. 在一些设备(HTC),我没有任何意图后,我安装SD卡。在那种情况下我能用什么方法?
  3. 有没有其他方法来听用户在他内置的软按钮相机拍摄的照片。我不想造我自己的相机。 fo =新的FileObserver(path.toString(),FileObserver.CLOSE_WRITE) {@重写公共空onEvent(int事件,字符串路径){Log.d(“是”,“事件"+事件);Log.d(“操作符”,“外边if”+照片拍摄+ externalStorageState .equals(Environment.MEDIA_MOUNTED));如果(照片拍摄== 0 && event == 8){ String st = timeStamp();Log.d(“运算符”,"in event“+Photo举);Log.d(“操作员”、"lat:+ MainService.lat +“+lng:”+ MainService.lng +“位置:”+ MainService.addre +“+ "time:”+ st);ptd.insert(st,String.valueOf(MainService.lat),String.valueOf(MainService.lng),MainService.addre);} };fo.startWatching();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-25 15:22:24

您可以创建一个新的BroadcastReceiver来监视SD挂载/卸载事件。然后,在挂载事件上,告诉您的FileObserver重新开始监视DCIM目录。

您需要指定意图筛选器来监视您想要的事件:

代码语言:javascript
复制
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
filter.addAction(Intent.ACTION_MEDIA_REMOVED);

官方API引用中的这个片段显示了如何监视外部存储的状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10629706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档