我正在開發一個android應用程序。我們可以從Phonegap項目調用一個android活動嗎?
我創建使用HTML5和JavaScript爲Android一些代號。而在原生Java
創建的簽名捕獲應用我想在HTML5應用程序的本地簽名捕獲的編碼。因爲HTML5中的簽名捕捉對於觸摸設備來說並不完美。
是它可以調用從HTML5的PhoneGap Android應用程序一個原生的Android活動????
我正在開發一個android應用程序。我們可以從Phonegap項目調用一個android活動嗎?
我創建使用HTML5和JavaScript爲Android一些代號。而在原生Java
創建的簽名捕獲應用我想在HTML5應用程序的本地簽名捕獲的編碼。因爲HTML5中的簽名捕捉對於觸摸設備來說並不完美。
是它可以調用從HTML5的PhoneGap Android應用程序一個原生的Android活動????
是的,這是可能的。
爲了做到這一點,您需要將cordova lib添加到您的android項目中,並通過擴展Plugin
類來創建android插件。
名稱爲的優先方法在那裏,您可以從您的javascripts調用。
記住,你需要定義包含執行文件夾複製到3210類的路徑。
請訪問下面的完整指南。
任何Java本機代碼調用被調用,而無需使用任何插件如下。
按照下面的步驟。
1)將下面的代碼替換爲您現有的DroidGap活動。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init(); // Calling this is necessary to make this work
appView.addJavascriptInterface(this, "MainActivity");
/* "this" points the to the object of the current activity. "MainActivity" is used to refer "this" object in JavaScript as in Step 3. */
super.loadUrl("file:///android_asset/www/index.html");
}
2在當前(this)活動中添加自定義函數,如下所示。
public void customFunctionCalled() {
Log.e("Custom Function Called", "Custom Function Called");
}
3現在,從您的HTML/JavaScript代碼中調用該函數,如下所示。
<script type="text/javascript">
function callNewActivity() {
window.MainActivity.customFunctionCalled();
}
我已經試過這不工作.. :( –
我已經使用這個號碼的時候,它工作正常,你必須已經取得了一些錯誤 –
你使用Java代碼,因爲它是確保在你的代碼下面有三行代碼,並且以相同的順序 super.init(); //調用這個函數是使這項工作有必要 appView.addJavascriptInterface(this,「MainActivity」); /*「this」指向當前活動的對象。「MainActivity」用於在步驟3中引用JavaScript中的「this」對象。*/ super.loadUrl(「file:///android_asset/www/index.html」); –