2012-10-07 52 views
3

我需要從firefox擴展發送一些數據到本機android應用程序。我如何使用意圖呢?這是一個在這個動作的Firefox的api嗎? 謝謝我可以使用Firefox意圖從Firefox擴展?

+0

我很困惑。這是從Firefox的Android版本嗎? – matt5784

+0

對不起! Android 4.0.3和firefox 15.0.1(用於android)。我需要從Firefox發送數據到另一個Android應用程序。 – izumeroot

回答

1

我不認爲你可以。 Firefox for Android由兩部分組成:Gecko瀏覽器引擎(native binary,與桌面Firefox相同)和基於Java的用戶界面(Android專用)。這兩部分在很大程度上是獨立的,並通過消息傳遞進行交流擴展運行在Gecko中,但是隻有基於Java的部分可以使用intent。我查看了這兩部分可以交換的消息,並且它們都非常具體,並且與特定的瀏覽器操作相關,沒有任何可以使用通用意圖的東西。

如果本機應用程序已在運行,您可能可以communicate via TCP sockets。擴展或本地應用程序都需要在另一方將連接到的衆所周知的端口上打開服務器套接字。

+0

謝謝!在命令行參數中是否有能力發送數據?例如,我將發送像這樣的數據 - 'target_programm my_data_sting' 如果android應用程序已經啓動,它會工作嗎? – izumeroot

+0

@izumeroot:不知道,試試吧?在Android上啓動一個進程應該與在桌面上完全一樣。如果您啓動應用程序的第二個實例,會發生什麼情況通常取決於您的應用程序 - 它需要找到第一個實例並返回給它。 –

+0

我可以通過套接字進行一次通信嗎?然後我沒有看到命令行參數。 – izumeroot

3

這本add-on

它以一種非常簡潔的方式進行使用作爲例子的代碼使用JNI通過Firefoxes C++代碼訪問Android的意圖Java類成爲可能。

+1

在附加main.js代碼中導致了「hacky獲取活動上下文的方式」(導致firefox移動崩潰)。是什麼原因? – Mmh

+0

這是超級酷,你有任何其他工作基於這個麥克斯或@MMH分享? – yatg

+0

下面是一個複製粘貼示例:https://github.com/mozilla/firefox-for-android-addons/blob/355f9a01464a0794c1084e8fdbab92c58503f49a/snippets/jni.js#L23-L44 – Noitidart