2013-10-17 71 views
0

我的目標是在安卓(Neccesitas sdk)下按下我的應用程序中的一個按鈕編寫的應用程序中的按鈕時,啓動已安裝在我的Android設備上的apk。 在Qt在Windows下這是通過使用QProcess中喜歡做簡單:我想在Android應用程序(Neccesitas sdk)上從我的Qt啓動一個apk

m_processP = new QProcess; 
m_processP->start ("somthing.exe"); 
..... 

但在Android上它似乎不象是那樣工作。 我也想用QProcess ...開始(「Settings.apk」),但我總是得到錯誤:ProcessError :: FailedToStart。 有人遇到像我一樣的問題嗎? 謝謝

回答

0

Android上的事情並不那麼簡單。你必須知道你想運行的軟件包和一個Activity的名字(在Android上,「應用程序」由活動組成,你只能顯示它們,而不能「運行」)。您必須通過JNI調用(從C++到Java)來執行此操作,並嘗試從那裏啓動所需活動的實例。這有點複雜。

瞭解更多關於從其他應用程序開始輸入活動here,關於JNI電話here的答案。

+0

謝謝,我可以訪問包和活動。我將研究JNI,我認爲QT可移植性使得使用獨立於平臺的進程更容易。 – Lucian

+0

這不是關於Qt,而是關於Android的設計 - 通常,移動設備上的應用程序生命週期非常不同(即,您可以在同一個進程中運行兩個「應用程序」) - 您只需接受它並遵循Android指南。 –

相關問題