这是我上周问的一个问题的更新版本
我正在尝试使用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?
*是否有需要进入清单的读外部权限?
这是真的,我该怎么办呢?
答案 0 :(得分:1)
您是否尝试使用实际的IP地址“smb:// username:password @ local ip /”。对我来说,我必须使用IP,计算机名称我的应用程序从未连接到Windows共享和崩溃。
答案 1 :(得分:0)
我也遇到了同样的问题,但我只是想通过在代码中加入一些代码来部分回答你的问题,这样就不会造成严重的崩溃。
以下是我在代码中添加的捕获量
catch (SmbException
| MalformedURLException
| UnknownHostException
| NetworkOnMainThreadException
| ExceptionInInitializerError e)
如果我发现更多信息,我将编辑此帖子。