http://docs.blackberry.com/tr-tr/developers/deliverables/16464/Detect_when_img_is_added_or_removed_file_sy_zh-cn_1054347_11.jsp
-
导入所需的类。
import net.rim.device.api.system.Application; import net.rim.device.api.io.file.FileSystemJournalListener;
-
实施 FileSystemJournalListener
接口。
class FileExplorerDemoJournalListener implements FileSystemJournalListener { -
创建表示上次更新序列号的实例变量。
private long _lastUSN;
-
实施 FileSystemJournalListener.fileJournalChanged()
,以在发生新文件系统事件时接收通知。
public void fileJournalChanged() { -
在 fileJournalChanged()
实施内,获取日志将使用的下个 USN。
long nextUSN = FileSystemJournal.getNextUSN();
-
创建 for 循环,以便向后迭代,从日志将使用的下个 USN 至日志将使用的最后一个 USN。 最佳实践是一旦
BlackBerry®
设备应用程序检索日志条目,就停止迭代。
for (long lookUSN = nextUSN - 1; lookUSN >= _lastUSN && msg == null; --lookUSN) { -
在 for 循环中,检索与当前 USN 对应的日志条目。
FileSystemJournalEntry entry = FileSystemJournal.getEntry(lookUSN);
-
创建将检查日志条目是否为 Null 的 IF 子句。 如果为 Null,则新文件系统日志条目不存在。
if (entry == null) { break; } -
如果日志条目存在,请获取与该条目关联的路径。
String path = entry.getPath();
-
创建将检查条目路径是否不为 Null 的 IF 子句。
if (path != null) { -
创建将检查文件系统事件是否涉及图像文件的 IF 子句。
if (path.endsWith("png") || path.endsWith("jpg") || path.endsWith("bmp") || path.endsWith("gif") ){ -
如果在文件系统中添加或删除文件,请执行相应操作。
switch (entry.getEvent()) { case FileSystemJournalEntry.FILE_ADDED: //either a picture was taken or a picture was added to the BlackBerry device break; case FileSystemJournalEntry.FILE_DELETED: //a picture was removed from the BlackBerry device; break; -
调用 Application.addFileSystemJournalListener()
,以将监听器添加至
BlackBerry
设备应用程序。 在此示例中,FileExplorerDemo
扩展 UIApplication
,而后者扩展 Application
。
this.addFileSystemJournalListener(new FileExplorerDemoJournalListener());
本文介绍了一个用于检测BlackBerry设备上图像文件添加或移除的方法。通过实现FileSystemJournalListener接口并利用文件系统日志,可以跟踪图像文件的变化。文章提供了具体的Java代码示例,展示了如何通过监听文件系统的更改来确定何时图片被添加或删除。
1188

被折叠的 条评论
为什么被折叠?



