我的BlackBerry應用程序正在使用BrowserSession打開網頁。當網頁打開時,用戶將輸入他們的登錄憑據,然後他們被轉發到一個新的網站,告訴他們關閉BlackBerry瀏覽器並返回到我的應用程序。 (... OAuth認證)需要幫助從BrowserSession返回到BlackBerry應用程序
現在,我想看看我是否可以執行以下操作之一:
創建我的應用程序自定義的URI方案,以便網站可以轉發到一個地址,如「myapp:// ...」,我的應用程序將打開。我一直在網上和關於這個論壇的研究,我不認爲這是可能的。我一直在尋找很多關於JSR 211和內容處理程序和MIME類型的信息。我還研究了JDE示例中的chapidemo演示。
關閉BrowserSession。我知道我不能在我的應用程序中執行此操作。在我的應用程序發出成功的http請求後,我成功地將我的應用程序移到了前臺,但是當網站轉發到新頁面時(它告訴用戶關閉瀏覽器),瀏覽器回到前臺
以某種方式確定當前BrowserSession的URL。如果我能做到這一點,那麼當我識別轉發到的頁面的URL時,我可以將應用程序放在前臺。
不幸的是,因爲我在瀏覽器中打開該網站需要支持javascript我不能使用BrowserField和Ajax ......我在BrowserField嘗試這樣做,並沒有工作。
有沒有人有任何意見或建議?
謝謝!
更新:
我的代碼進行註冊:
BrowserContentProviderRegistry converterRegistry = BrowserContentProviderRegistry
.getInstance();
if (converterRegistry != null) {
converterRegistry.register(new BrowserPlugin());
}
感謝您的迴應,Marc。我會試試這個併發布我的結果... – littleK 2010-02-25 05:01:01
Marc,我是否也需要將應用程序(在啓動時)註冊爲HttpFilter?我正在查看以下鏈接:http://docs.blackberry.com/en/developers/deliverables/652/BlackBerry_Application_Developer_Guide_Volume_2.pdf – littleK 2010-02-25 05:52:20
不需要,BrowserContentProvider就是您所需要的。有關示例,請參閱BrowserPlugin.java示例應用程序。插件返回的實際「內容」可以是空的(即一個空的HorizontalFieldManager),但重要的是您可以在其getBrowserContent方法中運行您想要的任何代碼,包括將您的應用程序放到前臺的代碼。 – 2010-02-25 08:09:36