2011-02-15 4 views
1

Я пишу приложение JRE 5.0.0. Приложение имеет некоторые HTML советы содержание, которое я показываю с field2.BrowserField. Я бы хотел запустить собственный браузер, когда пользователь нажимает на определенные ссылки. Я прочитал документы для BrowserFieldListener, но это не похоже на решение.Blackberry: запуск собственного браузера из встроенного браузера

[Редактировать]

В качестве альтернативы: вызывать нативный браузер с локальным документом. EG:

BrowserSession session = Browser.getDefaultSession(); 
session.displayPage("file:///Blark/"); 

[/ Edit]

Спасибо.

ответ

0

Я решил запустить системный браузер и передать его локальному файлу.

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; 
} 
1

RIM's app integration summary содержит пример кода для этого. Это неясно, но это работает.

+0

Все, что я вижу, есть «Вызов браузера BlackBerry», который не распространяется на него. –

+0

Если вы хотите вызвать ссылку на внешний сайт, код определенно находится на этой странице и в этом разделе. Просто нажмите ссылку, в которой говорится: «Нажмите здесь, чтобы получить образец кода, который иллюстрирует, как запустить сеанс BlackBerry Browser из приложения BlackBerry». чтобы выставить код Java, который вам нужен. –

+0

Возможно, тогда вопрос был недостаточно ясен. У меня уже есть field2.BrowserField, отображающий содержимое HTML, которое было упаковано вместе с моим приложением. Когда пользователь нажимает на ссылку, я хочу запустить браузер BlackBerry. –

Смежные вопросы