我一直試圖在瀏覽器字段中顯示來自SD卡的一些HTML內容,並且每次都不使用HTML數據渲染,而是使用瀏覽器字段呈現基本URL。我試圖找到相同的原因並沒有找到任何解決方案。我沒有找到任何明確說明何時調用該基本URL的文檔。可以解釋爲什麼以及何時該基本URL被調用?任何幫助是高度讚賞...Blackberry BrowserField Base Url
在此先感謝。
我一直試圖在瀏覽器字段中顯示來自SD卡的一些HTML內容,並且每次都不使用HTML數據渲染,而是使用瀏覽器字段呈現基本URL。我試圖找到相同的原因並沒有找到任何解決方案。我沒有找到任何明確說明何時調用該基本URL的文檔。可以解釋爲什麼以及何時該基本URL被調用?任何幫助是高度讚賞...Blackberry BrowserField Base Url
在此先感謝。
可能會幫助你。這樣的回答解釋瞭如何以兩種方式
1)讀取數據爲文本文件,並將其添加到字符串,dislay的內容像下面的方式
StringBuffer sb1;
FileConnection fconn = (FileConnection)Connector.open("filepath="file:///SDCard/BlackBerry/documents/HtmlFileName.txt", Connector.READ_WRITE);
if (fconn.exists())
{
InputStream input=fconn.openDataInputStream();
sb1=new StringBuffer();
int chars,i=0;
while((chars=input.read())!=-1)
{
sb1.append((char)chars);
}
}
String str=sb1.toString();
VerticalFieldManager vfm = new VerticalFieldManager(VERTICAL_SCROLL|VERTICAL_SCROLL_MASK);
BrowserFieldConfig browserFieldConfig = new BrowserFieldConfig();
browserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_POINTER);
browserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_CARET);
browserFieldConfig.setProperty(BrowserFieldConfig.JAVASCRIPT_ENABLED,Boolean.TRUE);
browserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE_POINTER.toString(),Boolean.TRUE);
browserFieldConfig.setProperty(BrowserFieldConfig.ALLOW_CS_XHR,Boolean.TRUE);
BrowserField browser_field=new BrowserField(browserFieldConfig);
browser_field.displayContent(str,"");
vfm.add(browser_field);
add(vfm);
2)您可以直接調用,顯示從SD卡的HTML內容從browserfield像下面的頁面
String url="file:///sdcard/index.html";//specify exact path if resource then local:///.if sd card file:///
VerticalFieldManager manager=new VerticalFieldManager(VERTICAL_SCROLL|VERTICAL_SCROLLBAR|HORIZONTAL_SCROLL|HORIZONTAL_SCROLLBAR){
protected void sublayout(int maxWidth, int maxHeight) {
super.sublayout(640,Display.getHeight());
setExtent(640,Display.getHeight());
}
};
BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig();
myBrowserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER);
BrowserField browserField = new BrowserField(myBrowserFieldConfig);
history=browserField.getHistory();
browserField.requestContent(url);
manager.add(browserField);
browserField.requestContent(url);
add(manager);
我意識到這是有點舊,但我有同樣的問題,並想分享我是如何解決我的情況。
事實證明,如果您嘗試導航到BrowserField中的新頁面,並且無法加載新頁面或發生錯誤,則BrowserField將加載基本URL。
這個問題發生了兩次。在一個例子中,我的程序拋出了一個運行時異常,它被無聲地處理(偶然)。這導致導航失敗並加載基本URL。在第二種情況下,我試圖導航的頁面不存在(通過拼寫錯誤或錯誤使用文件名或位置)。
需要說明的是,這是加載的原始頁面的基本URL,而不是加載失敗的頁面。
我希望這有助於!