void startFileCapture (int serviceId);
void startFileCapture (int serviceId,
String fileURI);
public void startFileCapture(FileCaptureParams params);
void fileAvailable (int serviceId,
FDFile file);
void fileDeliveryServiceError (int errorCode,
String message,
Integer serviceId);
文件传输链接初始化
要启动文件捕获,应用程序应向MSDC发送startFileCapture()请求。应用程序在此请求中为MSDC API提供服务ID。服务ID是应用程序请求捕获文件的文件传递服务的ID。应用程序从ServiceInfo.serviceHandle获取此ID。
该应用程序还可能提供以下功能:
•启用文件下载进度报告–当设置为TRUE时,UI应用程序接收有关文件下载进度的通知。
•文件URI–应用程序需要的文件的唯一路径标识符。例如:
http://file-uri.com/abc/file1.txt.
如果应用程序未在路径中指定文件名,例如。,http://file-uri.com/abc/,MSDC将尝试捕获此路径下的所有文件。
如果用户将前缀/URI设置为/CNN,MSDC将捕获以该前缀开头的所有文件,例如选定服务上的/CNN/s1/file1.xml,但它与/XYZ/CNN/file2.xml不匹配。
–可以指定带或不带正斜杠(/)的前缀URI。
–URI路径应包含完整的文件夹或名称。例如,如果将前缀URI指定为/CN,则MSDC不会捕获/CNN下的文件。相反,它会在/CN下查找可能不存在的文件。
–当请求中未指定文件URI时,MSDC将捕获所有文件。
–示例:用户将前缀设置为/CNN/s1
http://file-uri.com/abc/file1.txt.
如果应用程序未在路径中指定文件名,例如。,http://file-uri.com/abc/,MSDC将尝试捕获此路径下的所有文件。
如果用户将前缀/URI设置为/CNN,MSDC将捕获以该前缀开头的所有文件,例如选定服务上的/CNN/s1/file1.xml,但它与/XYZ/CNN/file2.xml不匹配。
–可以指定带或不带正斜杠(/)的前缀URI。
–URI路径应包含完整的文件夹或名称。例如,如果将前缀URI指定为/CN,则MSDC不会捕获/CNN下的文件。相反,它会在/CN下查找可能不存在的文件。
–当请求中未指定文件URI时,MSDC将捕获所有文件。
–示例:用户将前缀设置为/CNN/s1
◦ MSDC将捕获这些文件:
· /CNN/s1/s2/1.txt
· /CNN/s1/s3/s4/s5/1.txt
· /CNN/s1/1.txt
◦ MSDC would not capture these files:
· /CNN/s2/1.txt
· /CNN/1.txt
· /CNN/s1/s2/1.txt
如果文件捕获成功,MSDC将使用fileAvailable for each captured file响应,并提供以下信息:
•服务ID–为其捕获文件的文件传递服务的ID。
•文件–一个FDfile对象,包含捕获文件的所有必需信息。有关FDfile的更多信息,请参阅第9.22节。
一旦MSDC向应用程序发送文件Available通知,该文件就属于该应用程序。然后,应用程序负责文件和文件删除等操作。
MSDC下载文件后,如果文件(具有相同的文件名和MDS)再次出现,则不会再次下载该文件。例外情况是,如果文件被deleteFile()、deleteAllCapturedFiles()(见第5.4.4节)或MSDC本身删除。
建议:一旦应用程序获得文件可用通知,建议应用程序创建文件的副本。如果文件在文件可用通知,MSDC可能会删除该文件。UI应用程序可以还可以在initializeFileDeliveryService并设置存储位置(可选)


void startFileCapture (int serviceId);
void startFileCapture (int serviceId,
String fileURI);
public void startFileCapture(FileCaptureParams params);
void stopFileCapture (int serviceId,
String fileURI);
void fileDeliveryServiceError(int serviceId,
int errorCode,
String message
void fileDownloadFailure(int serviceHandle,
String uri);
文件传输初始化连接
如果应用程序要停止先前启动的文件捕获,则应使用stopFileCapture()。

public void setStorageLocation(String path)
文件传输初始化连接
如果应用程序想要更改文件下载位置,可以使用setStorageLocation()。路径必须成为绝对路径。此功能允许应用程序在收到insufficientStorage()或inaccessibleLocation()通知

int deleteFile (int serviceId, String fileURI);
int deleteAllCapturedFiles (int serviceId);
void fileDeliveryServiceError(int serviceId, int errorCode, String message
文件传输模块初始化
如果应用程序想从设备中删除捕获的文件,可以使用deleteFile()。删除所有捕获的 文件,应用程序可以使用deleteAllCapturedFiles()。
这些功能可从设备中删除文件,并清除与文件相关的MSDC历史记录。下一个文件显示时,MSDC会下载它。但是,如果应用程序通过直接访问文件来删除文件,
MSDC不会意识到这一点,也不会再次下载相同的文件。
有关代码示例,请参见第A.4.3节



