2012-12-14 15 views
0

這是我上週提出的一個問題的更新版本。
我試圖用SmbFileInputStream到Android連接到我的電腦,
但應用程序中止(在我的平板電腦)與此錯誤消息:試圖使用SmbFileInputStream

"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:[email protected]/"); } 

當我嘗試做的兩個步驟中,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名稱在每個可能的組合。

中小企業需要什麼額外信息才能使用?

例如,經過幾天的搜索網絡,我看到了一些提示:
* Java SMB在Android中不起作用 - 這是真的,我有哪些?
*將jcifs.jar放入libs文件夾中將無法使用jcifs。
*我需要將jCIFS jar文件添加到CLASSPATH,還是由Eclipse處理?
*如果我給SmbFileInputStream一個文字字符串,我需要調用registerSmbURLHandler嗎?
*是否有讀取外部許可需要進入清單?

這是真的,我該怎麼辦呢?

+0

向Throwable添加一個catch並檢查拋出哪種異常。此外,您必須始終將庫添加到CLASSPATH。但通常,如果您將它們添加到項目中,Eclipse會發現。檢查構建路徑以確保。 – Alfabravo

回答

1

你嘗試過「smb://用戶名:密碼@本地ip /」,用真正的IP地址來做。對我來說,我必須用IP來完成它,計算機名稱我的應用程序從未連接到Windows共享和崩潰。

0

我也遇到了同樣的問題,但我只是想通過在幾個catch中添加你應該包含在代碼中的部分回答你的問題,以便它不會造成嚴重的崩潰。

這裏是我在我的代碼

catch (SmbException 
     | MalformedURLException 
     | UnknownHostException 
     | NetworkOnMainThreadException 
     | ExceptionInInitializerError e) 

已經添加如果我找到任何我會編輯這個職位的詳細信息,漁獲。