黑莓:从嵌入式浏览器启动原生浏览器
问题描述:
我正在编写JRE 5.0.0应用程序。该应用程序有一些HTML 提示内容,我用field2.BrowserField
显示。我想在用户点击特定链接时启动本机浏览器。我已阅读BrowserFieldListener的文档,但看起来不像解决方案。黑莓:从嵌入式浏览器启动原生浏览器
[编辑]
或者:使用本地文档调用本机浏览器。 EG:
BrowserSession session = Browser.getDefaultSession();
session.displayPage("file:///Blark/");
[/编辑]
感谢。
答
我决定启动系统浏览器并为其提供本地文件。
public boolean launchBrowserWithLocalResource(String resource)
{
boolean answer = false;
InputStream input = AppLauncher.class.getResourceAsStream(resource);
if(input != null)
{
DataBuffer buffer = new DataBuffer();
ByteArrayOutputStream output = null;
try
{
byte[] temp = new byte[input.available()];
while(true)
{
int bytesRead = input.read(temp);
if(bytesRead == -1)
break;
buffer.write(temp, 0, bytesRead);
}
input.close();
output = new ByteArrayOutputStream();
Base64OutputStream boutput = new Base64OutputStream(output);
output.write("data:text/html;base64,".getBytes());
boutput.write(buffer.getArray());
boutput.flush();
boutput.close();
output.flush();
output.close();
} catch(IOException e)
{
Logger.log("Caught IOException: " + e.getMessage());
}
if(output != null)
{
BrowserSession bSession = Browser.getDefaultSession();
bSession.displayPage(output.toString());
answer = true;
}
} else
{
Logger.log("File not found: " + resource);
}
return answer;
}
我在那里看到的是“调用BlackBerry Browser”,它不包括它。 – 2011-02-15 22:39:11