这是我上周提出的问题的更新版本。
我正在尝试使用 SmbFileInputStream 将我的 Android 连接到我的 PC,
但应用程序中止(在我的平板电脑上)并显示以下错误消息:
"The application has stopped unexpectedly. Please try again."
我正在使用 Try/Catch,但它不会触发任何这些异常。
适用的代码如下所示:
SmbFile inFile = null;
jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.2.2" ) }
try { inFile = new SmbFileInputStream( "smb://MIKE-PC/Users/Public/List1.txt" ); }
catch (SmbException e) { ListItems.add("SMB Error"); }
catch (MalformedURLException e) { ListItems.add("URL Error"); }
catch (UnknownHostException e) { ListItems.add("Host Error"); }
我尝试了使用和不使用名称和密码的代码,但均未成功:
try { inFile = new SmbFile( "smb://MIKE-PC_Network:123ABC@Mike-PC/" ); }
当我尝试分两步执行此操作时,SmbFile 不会中止,但 SmbFileInputStream 会。
try { sFile = new SmbFile( "smb://MIKE-PC/Users/Public/List1.txt" ); }
try { inFile = new SmbFileInputStream( sFile ); }
当我尝试获取文件列表时, SmbFile 不会中止,但 sFile.list 会。
try { sFile = new SmbFile( "smb://MIKE-PC/" ); }
try { lBuf = sFile.list(); . . .
我在本地网络上,而不是域上。
平板电脑能够使用另一个应用程序登录,所以我知道网络正常。
我已经尝试了所有可能的组合中的用户、网络、PC 名称。
SMB 在运行之前是否需要一些额外的信息?
例如,在网上搜索了几天后,我看到了以下提示:
* Java SMB 无法在 Android 中运行 - 这是真的吗?我有哪些?
* 将 jcifs.jar 放入 libs 文件夹将不适用于 jcifs。
* 我需要将 jCIFS jar 文件添加到 CLASSPATH,还是由 Eclipse 处理?
* 如果我给 SmbFileInputStream 一个文字字符串,我需要调用 registerSmbURLHandler 吗?
* 清单中是否需要读取外部权限?
这是真的吗,我该怎么办?