2013-10-22 73 views
0

我正在開發一個android應用程序。我們可以從Phonegap項目調用一個android活動嗎?

我創建使用HTML5和JavaScript爲Android一些代號。而在原生Java

創建的簽名捕獲應用

我想在HTML5應用程序的本地簽名捕獲的編碼。因爲HTML5中的簽名捕捉對於觸摸設備來說並不完美。

是它可以調用從HTML5的PhoneGap Android應用程序一個原生的Android活動????

回答

0

是的,這是可能的。

爲了做到這一點,您需要將cordova lib添加到您的android項目中,並通過擴展Plugin類來創建android插件。

名稱爲​​的優先方法在那裏,您可以從您的javascripts調用。

記住,你需要定義包含執行文件夾複製到​​3210類的路徑。

請訪問下面的完整指南。

Android Plugin

0

任何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(); 
} 

+0

我已經試過這不工作.. :( –

+0

我已經使用這個號碼的時候,它工作正常,你必須已經取得了一些錯誤 –

+0

你使用Java代碼,因爲它是確保在你的代碼下面有三行代碼,並且以相同的順序 super.init(); //調用這個函數是使這項工作有必要 appView.addJavascriptInterface(this,「MainActivity」); /*「this」指向當前活動的對象。「MainActivity」用於在步驟3中引用JavaScript中的「this」對象。*/ super.loadUrl(「file:///android_asset/www/index.html」); –

相關問題