網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

怎麼在安卓手機上啓用javascript

欄目: IT科技 / 發佈於: / 人氣:2.37W

創建數據庫 選擇開始選單中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,開啟【SQL Server Management Studio】視窗,並使用Windows或 SQL Server身份驗證建立連接。 在【對象資源管理器】視窗中展開服務器,然

本文我們將從以下幾個部分來詳細介紹如何在安卓手機上啓用JavaScript:使用Stock瀏覽器、使用谷歌Chrome、使用火狐瀏覽器

在加載網站的互動內容(比如購物車)時老是遇到麻煩?這些內容大多由JavaScript提供支援,這是一種功能強大的網站腳本語言。默認情況下,所有Android瀏覽器都會啓用JavaScript。如果你不小心關掉了它,或者關了後又忘了怎樣重新啓用,請看下面的步驟1來學習如何啓用JavaScript。第一部分:使用Stock瀏覽器

目前只有部分可以在手機瀏覽器上執行,這個取決於手機瀏覽器的開發程度。 舉例:電腦瀏覽器能用模態框,但手機瀏覽器本身是沒有層級的概念的,所以這個就根本沒法實現了,只能透過其他方案模擬出那種效果。 jquerymobile這個開源組件可以試下,

怎麼在安卓手機上啓用javascript

第1步:開啟瀏覽器。

可以用手機qq瀏覽器,這個軟件相容性比較的好,我就是用的這個軟件,支援很多的網站模式和檔案格式的,從來沒有出現過打不開的情況的,採用的chrome+tap高速組件+自帶ie進階內核,執行穩定,快速,啓動的速度也是非常的快,瞬間釋放內存的,沒有

根據你執行的安卓版本和手機制造商,瀏覽器的名稱可能會是“瀏覽器”或“互聯網”。點擊圖標開啟它。

預期效果:1、java編程實現顯示一個網頁顯示(list,list中有電話號碼),網頁中的數據內容由程序傳過去。 2、點擊網頁中的電話號碼部分,調用手機的打電話介面。 具體實現: 1、在assets中定義index.html檔案,這個檔案中table中的數據由javasc

如果在主屏幕上找不到圖標,到應用抽屜裏找一下。

你說的不太具體啊 反正我第一反應是這樣。。這麼跟你說吧。。你開啟的如果是webview,而此webview被某個按鈕點擊後跳轉過來的,那個按鈕上可能綁了這麼一句代碼: 這個代碼其實是爲了防止webview和後臺交互的時候執行了默認跳轉,比如用ajax局部

怎麼在安卓手機上啓用javascript 第2張

第2步:點擊“選單”按鈕。

PHP 編寫的是沒有問題的,javascript,怕有的瀏覽器不支援JS,曾經遇到過,不支援的,後來一些特效就去掉了,。

手機上可能有一個“選單”按鈕,或者也可以點擊瀏覽器右上角的“選單”圖標。

現在的安卓手機的瀏覽器幾乎都是可以直接瀏覽普通網頁(非WAP網頁)的,而且都是支援Javascript的(事實上Javascript已經是目前爲止唯一的網頁前端腳本語言了)。當然,瀏覽器中一般都有開啟或關閉Javascript功能的選項,但只要是開啟的,你用al

怎麼在安卓手機上啓用javascript 第3張

第3步:點擊“設定”。

參考如下內容: 主要有兩種方法。一種是使用系統的瀏覽器組件(IOS中的UIWebView和Android中的WebView),另一方法就是使用整合好的JavaScript引擎。 使用系統的瀏覽器組件比較容易實現但是更復雜,效率也低。 WebView提供了 addJavascriptInter

“設定”通常位於“選單”按鈕的底部。點擊後將開啟瀏覽器的設定視窗。

參考如下內容: 主要有兩種方法。一種是使用系統的瀏覽器組件(IOS中的UIWebView和Android中的WebView),另一方法就是使用整合好的JavaScript引擎。 使用系統的瀏覽器組件比較容易實現但是更復雜,效率也低。 WebView提供了 addJavascriptInter

怎麼在安卓手機上啓用javascript 第4張

第4步:點擊“進階”。

Android之如何使用javascript調用android代碼 使用javascript調用android代碼 1.使用webview對象的addJavascriptInterface方法 2.addJavascriptInterface方法有兩個參數,第一個參數就是我們一般會實現一個自己的類,類裏面提供我們要提供給java

開啟瀏覽器的進階選項列表。

javascript要開啓????? 現代瀏覽器全部都是默認支援javascript,不用開啓。 更多:(www).A2345.(net)

怎麼在安卓手機上啓用javascript 第5張

第5步:選中“啓用JavaScript”複選框。

一、網頁的JS代碼調用ANDROID中JAVA代碼的方法 在網頁中調用java代碼、需要在webview控件中添加javascriptInterface contentWebView = (WebView) findViewById(R.id.webview); //啓用javascript contentWebView.getSettings().setJavaScriptEnab

選中這個複選框後,將在瀏覽器中啓用JavaScript,然後你就可以退出“設定”選單。要讓更改生效,你需要重新加載當前正在訪問的頁面。

在Cocos2d-js 3.0beta中加入了一個新特性,在Android平臺上我們可以透過反射直接在js中調用java的靜態方法。它的使用方法很簡單: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters) 在callStat

第二部分:使用谷歌Chrome

在我開始使用OpenAphid-Engine的時候,已經有幾種類似的iOS/Android 項目.這些商業項目或者開源項目使用JavaScript實現代碼特性。比如,Titanium 和PhoneGap 允許開發者使用JavaScript開發本地 iOS/Android apps;ngCore 更是可以使用純正的JavaS

怎麼在安卓手機上啓用javascript 第6張

第1步:開啟谷歌Chrome。

這是個比較專業的問題 首先我推薦一個:react native,facebook推出的一個跨平臺解決方案,去年推出了iOS版,手機淘寶的有一個模組“猜你喜歡”就是用react native實現的,效果還不錯,另外今年9月份,facebook推出了android版,大家不妨試一下,

如果你使用的是Chrome而不是安卓Stock瀏覽器,那就要在Chrome瀏覽器的設定選單中啓用JavaScript。Chrome可以在主屏幕或應用抽屜裏找到。

NativeScript的工作原理:用JavaScript調用原生API實現跨平臺NativeScript是最近推出的一個跨平臺解決方案,可以讓你可以用JavaScript來直接寫Android、iOS本地應用程序,未來還即將擴展到Windows平臺。是最近比較受關注的項目。它與 nw (原名no

部分安卓手機同時帶有Chrome瀏覽器和Stock瀏覽器。

android調用js方法比較簡單,一行代碼搞定。 mWebView.loadUrl("javascript:test(" + aa+ ")");//test就是你js方法,然後是參數然後是js調用android方法,比較複雜。 b.c這個window.wst的wst就是Android中自己定義的標識名稱,clickOnAndroid

怎麼在安卓手機上啓用javascript 第7張

第2步:點擊“選單”按鈕。

PHP 編寫的是沒有問題的,javascript,怕有的瀏覽器不支援JS,曾經遇到過,不支援的,後來一些特效就去掉了,。

這個按鈕位於瀏覽器屏幕右上角,看起來像三個垂直排列的盒子。

當然可以不過要自己代碼中開啟js的支援,代碼如下: WebSettings webSettings = webView.getSettings(); webSettings.setDisplayZoomControls(false); webSettings.setJavaScriptEnabled(true); // 設定支援javascript腳本 webSettings.setAllow

如果你的手機有選單按鈕,點擊它也行。

JavaScript沒有權限來調用關機吧,只有使用命令終端纔可以吧,而且要root權限

怎麼在安卓手機上啓用javascript 第8張

第3步:點擊“設定”。

參考如下內容: 主要有兩種方法。一種是使用系統的瀏覽器組件(IOS中的UIWebView和Android中的WebView),另一方法就是使用整合好的JavaScript引擎。 使用系統的瀏覽器組件比較容易實現但是更復雜,效率也低。 WebView提供了 addJavascriptInter

“設定”位於選單底部。可能需要向下滾動才能找到它。

肯定支援,否則的話很多網站無法正常開啟了,它還好意思說自己是瀏覽器?Javascript已經是事實上的唯一的一種前端腳本語言了。當然幾乎所有瀏覽器都有關閉和開啟Javascript的選項供用戶設定的。

怎麼在安卓手機上啓用javascript 第9張

第4步:點擊“內容設定”。

可以使用的; //Android(Java)與js(HTML)交互的接口函數, Android 爲橋連對象可隨意設值 mWebView.addJavascriptInterface(new JavaScriptInterface(), "Android"); class JavaScriptInterface{ /** * ----被JS調用的方法----- * javascript

在“設定”選單中,查找位於“進階”類別中的“內容設定”選項。

function aa(){ var txt1=document.getElementById("txt1"); var txt2=document.getElementById("txt2"); var fnt1=document.getElementById("fnt1"); fnt1.style.color="#ffff00";//這樣設定比較好。 fnt1.setAttribute("style", "color:#ffff

怎麼在安卓手機上啓用javascript 第10張

第5步:選中“開啓JavaScript”複選框。

那學的東西可多了,他包括HTML網頁設計,JAVAScript腳本開發,CSS樣式表外加數據庫的知識,還有頁面嵌套JAVA語言,SSH框架,這就是所謂的WEB開發了,也就是你現在需要學習的東西。 現在主流的WEB編程開發無非就是J2EE和ASP.NET,但是要說實用的

選中這個複選框後,將在瀏覽器中啓用JavaScript,然後你就可以退出“設定”選單。要讓更改生效,你需要重新加載當前正在訪問的頁面。

在Cocos2d-js 3.0beta中加入了一個新特性,在Android平臺上我們可以透過反射直接在js中調用java的靜態方法。它的使用方法很簡單: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters) 在callStat

第三部分:使用火狐瀏覽器

怎麼在安卓手機上啓用javascript 第11張

第1步:開啟瀏覽器。

可以用手機qq瀏覽器,這個軟件相容性比較的好,我就是用的這個軟件,支援很多的網站模式和檔案格式的,從來沒有出現過打不開的情況的,採用的chrome+tap高速組件+自帶ie進階內核,執行穩定,快速,啓動的速度也是非常的快,瞬間釋放內存的,沒有

如果你使用的是火狐而不是安卓Stock瀏覽器,那就得在“配置”頁面中啓用JavaScript,因爲該設定隱藏在普通選單中。你可以在主屏幕或應用抽屜裏找到火狐瀏覽器。

怎麼在安卓手機上啓用javascript 第12張

第2步:開啟“配置”瀏覽器。

由於火狐瀏覽器隱藏了JavaScript設定,因此需要訪問隱藏的“配置”頁面才能更改設定。你可以點擊地址欄,然後輸入about:config來開啟配置頁面。

注意,更改該頁面可能會導致瀏覽器紊亂,因此要謹慎。

怎麼在安卓手機上啓用javascript 第13張

第3步:搜尋JavaScript。

“配置”頁面非常大,所以爲了更容易找到它,應該搜尋JavaScript。在“配置”頁面頂部可以看到一個搜尋欄。輸入javascript,就可以馬上在主視窗中看到搜尋結果。

怎麼在安卓手機上啓用javascript 第14張

第4步:找到"javascript.enable" 選項。

搜尋“javascript”時,這個選項通常在搜尋結果列表中的第二項。

怎麼在安卓手機上啓用javascript 第15張

第5步:切換JavaScript。

點擊這個選項以顯示“切換”按鈕。點擊“切換”,將該項從“false”改爲“true”。現在JavaScript 就已經啓用了,但是要讓更改生效,你可能需要重新加載當前正在訪問的頁面。

小提示

如果一個網站在你的安卓設備上不能正常執行,原因可能就是JavaScript 沒有啓用。

警告

在訪問需要JavaScript的站點之前,請確保JavaScript選項已啓用,否則站點可能無法正常執行。

擴展閱讀,以下內容您可能還感興趣。

如何在iOS和Android上選擇一個JavaScript 引擎進行應用開發

參考如下內容:

主要有兩種方法。一種是使用系統的瀏覽器組件(IOS中的UIWebView和Android中的WebView),另一方法就是使用整合好的JavaScript引擎。

使用系統的瀏覽器組件比較容易實現但是更復雜,效率也低。 WebView提供了 addJavascriptInterface 把Java classes注入到JavaScript文字的方法。但是它只支援最原始的幾種數據類型,因此也侷限了API設計。並且在Android 2.3模擬器上不穩定,在真機上也會遇到 issue #12987的問題。在IOS上更糟 UIWebView沒有公共的APIs支援JavaScript到Objective-C的交互(你必須使用似有的APIs才能達到與addJavascriptInterface相同的功能)。

PhoneGap 是基於 UIWebView and WebView的比較出名的項目。開發者*使用回調函數從JavaScript APIs得到返回值。這在遊戲上效率極低,也更爲複雜。

早期的ngCore同樣依賴UIWebView來支援iOS。但是這個機制由於其糟糕的表現被取代。

爲了獲得更好的表現、靈活性、相容性,嵌入全功能的JavaScript引擎變得更爲有效。

android中用javascript嗎

Android之如何使用javascript調用android代碼

使用javascript調用android代碼

1.使用webview對象的addJavascriptInterface方法

2.addJavascriptInterface方法有兩個參數,第一個參數就是我們一般會實現一個自己的類,類裏面提供我們要提供給javascript訪問的方法;第二個參數是訪問我們在obj中聲明的方法時候所用到的js對象,調用模式爲window.interfaceName.方法名()或者是javascript: interfaceName.方法名() ;,如myWebView.addJavascriptInterface(new JavaScriptinterface(this), "android");

3.編寫JavaScriptinterface類,如有一個函數名爲showToast()的方法

4.在html中調用時的形式:javascript:android.showToast()。

附上一個小例子:

import android.content.Context;

import android.widget.Toast;

public class JavaScriptinterface {

private Context mContext;

/** Instantiate the interface and set the context */

public JavaScriptinterface(Context c) {

mContext = c;

}

/** Show a toast from the web page */

public void showToast(String toast) {

Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();

}

}

import java.io.BufferedReader;

import java.io.File;

import java.io.InputStreamReader;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.KeyEvent;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

private WebView myWebView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

myWebView = (WebView) findViewById(R.id.myWebView);

myWebView.getSettings().setJavaScriptEnabled(true);

myWebView.addJavascriptInterface(new JavaScriptinterface(this),

"android");

String htmlText = getFromAssets("test.html");

//把myWebView加載html

myWebView.loadData(htmlText, "text/html", "utf-8");

myWebView.setWebViewClient(new myWebViewClient());

}

// 此按鍵監聽的是返回鍵,能夠返回到上一個網頁(透過網頁的hostlistery)

public boolean onKeyDown(int keyCode, KeyEvent event) {

if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {

myWebView.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

}

public String getFromAssets(String fileName) {

try {

InputStreamReader inputReader = new InputStreamReader(

getResources().getAssets().open(fileName));

BufferedReader bufReader = new BufferedReader(inputReader);

String line = "";

String Result = "";

while ((line = bufReader.readLine()) != null)

Result += line;

if (bufReader != null)

bufReader.close();

if (inputReader != null)

inputReader.close();

return Result;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

class myWebViewClient extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// TODO Auto-generated method stub

view.loadUrl(url);

return true;

}

}

}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<script type="text/javascript">

function showAndroidToast(toast) {

javascript:android.showToast(toast);

}

</script>

</head>

<body>

<input type="button" value="Say hello"

onClick="showAndroidToast('Hello Android!')" />

</body>

</html>

android的應用程序中,可以直接調用WebView 中的javascript 代碼:

import java.io.BufferedReader;

import java.io.File;

import java.io.InputStreamReader;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.os.Handler;

import android.view.KeyEvent;

import android.view.View;

import android.view.View.OnClickListener;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Button;

public class MainActivity02 extends Activity {

/** Called when the activity is first created. */

private WebView webView;

private Button button;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main2);

webView=(WebView) this.findViewById(R.id.webView);

button=(Button) this.findViewById(R.id.button);

WebSettings setting=webView.getSettings();

//設定支援javascript

setting.setJavaScriptEnabled(true);

//增加接口方法,讓html頁面調用

webView.addJavascriptInterface(new Object(){

//這裏我定義了一個撥打的方法

public void startPhone(String num){

Intent intent=new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:"+num));

startActivity(intent);

}

}, "demo");

//加載頁面

webView.loadUrl("file:///android_asset/test2.html");

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

webView.loadUrl("javascript:show('activity傳過來的數據')"); //調用javascript函數

/*

* 透過webView.loadUrl("javascript:xxx")方式就可以調用當前網頁中的名稱

* 爲xxx的javascript方法

*/

}

});

}

}

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

function show(content){

document.getElementById("countent").innerHTML=

"這是我的javascript調用. 這是:"+content;

}

</script>

</head>

<body>

<table align="center">

<tr><td>姓名</td><td>電話</td></tr>

<tr><td>小明</td><td><a href="javascript:demo.startPhone(123)">123</a></td></tr>

<tr><td>小王</td><td><a href="javascript:demo.startPhone(456)">456</a></td></tr>

</table>

<p id="countent">html原始數據</p>

</body>

</html>

安卓瀏覽器的javascript開啓具體有什麼用?

javascript要開啓?????

現代瀏覽器全部都是默認支援javascript,不用開啓。

更多:(www).A2345.(net)

如何在JAVASCRIPT調用Android JAVA函數

一、網頁的JS代碼調用ANDROID中JAVA代碼的方法

在網頁中調用java代碼、需要在webview控件中添加javascriptInterface

contentWebView = (WebView) findViewById(R.id.webview);

//啓用javascript

contentWebView.getSettings().setJavaScriptEnabled(true);

contentWebView.addJavascriptInterface(this, "js對象名");

在Activity中定義一個要被js調用的方法、src爲js傳遞過來的參數、如果沒有不傳也可以

public void jsFunction(final String str) {

Toast.makeText(this, str, Toast.LENGTH_SHORT).show();

runOnUiThread(new Runnable() {

@Override

public void run() {

//在裏對Android應用的UI進行處理

}

});

}

在網頁中、只需要像調用js方法一樣、進行調用就可以

<a onClick="window.js對象名.jsFunction(´hello world´)" >

點擊調用java代碼並傳遞參數

</a>

二、ANDROID中JAVA代碼調用網頁的JS代碼的方法

Java代碼調用js並傳參其實是透過WebView的loadUrl方法去調用的、只是參數url的寫法不一樣而已

// 無參數調用

contentWebView.loadUrl("javascript:javacalljs()");

// 傳遞參數調用

contentWebView.loadUrl("javascript:javacalljswithargs("

+ "´hello world´" + ")");

三、JAVA和JS交互注意事項

1、Java 調用 js 裏面的函數、效率並不是很高、估計要200ms左右吧、做交互性很強的事情、這種速度很難讓人接受、而js去調Java的方法、速度很快、50ms左右、所以儘量用js調用Java方法

2、Java 調用 js 的函數、沒有返回值、調用了就控制不到了

3、Js 調用 Java 的方法、返回值如果是字元串、你會發現這個字元串是 native 的、轉成 locale 的才能正常使用、使用 toLocaleString() 函數就可以了、不過這個函數的速度並不快、轉化的字元串如果很多、將會很耗費時間

4、網頁中儘量不要使用jQuery、執行起來需要5-6秒、最好使用原生的js寫業務腳本、以提升加載速度、改善用戶體驗。

如何在android平臺上使用js直接調用Java方法

在Cocos2d-js 3.0beta中加入了一個新特性,在Android平臺上我們可以透過反射直接在js中調用java的靜態方法。它的使用方法很簡單:

var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...)

在callStaticMethod方法中,我們透過傳入Java的類名,方法名,方法簽名,參數就可以直接調用Java的靜態方法,並且可以獲得Java方法的返回值。下面介紹的類名和方法簽名可能會有一點奇怪,但是Java的規範就是如此的。

類名

參數中的類名必須是包含Java包路徑的完整類名,例如我們在org.cocos2dx.javascript這個包下面寫了一個Test類:

package org.cocos2dx.javascript;

public class Test {

public static void hello(String msg){

System.out.println(msg);

}

public static int sum(int a, int b){

return a + b;

}

public static int sum(int a){

return a + 2;

}

}

那麼這個Test類的完整類名應該是org/cocos2dx/javascript/Test,注意這裏必須是斜線/,而不是在Java代碼中我們習慣的點。

方法名

方法名很簡單,就是方法本來的名字,例如sum方法的名字就是sum。

方法簽名

方法簽名稍微有一點複雜,最簡單的方法簽名是()V,它表示一個沒有參數沒有返回值的方法。其他一些例子:

(I)V表示參數爲一個int,沒有返回值的方法;

(I)I表示參數爲一個int,返回值爲int的方法;

(IF)Z表示參數爲一個int和一個float,返回值爲boolean的方法;

現在有一些理解了吧,括號內的符號表示參數類型,括號後面的符號表示返回值類型。因爲Java是允許函數重載的,可以有多個方法名相同但是參數返回值不同的方法,方法簽名正是用來幫助區分這些相同名字的方法的。

目前Cocos2d-js中支援的Java類型簽名有下面4種:

參數可以是0個或任意多個,直接使用js中的number,bool和string就可以。

使用示例

我們將會調用上面的Test類中的靜態方法:

//調用hello方法

jsb.reflection.callStaticMethod("org/cocos2dx/javascript/Test", "hello", "(Ljava/lang/String)V", "this is a message from js");

//調用第一個sum方法

var result = jsb.reflection.callStaticMethod("org/cocos2dx/javascript/Test", "sum", "(II)I", 3, 7);

cc.log(result); //10

//調用第二個sum方法

var result = jsb.reflection.callStaticMethod("org/cocos2dx/javascript/Test", "sum", "(I)I", 3);

cc.log(result); //5

在你的控制檯會有正確的輸出的,這很簡單吧。

注意

另外有一點需要注意的就是,在android應用中,cocos的渲染和js的邏輯是在gl線程中進行的,而android本身的UI更新是在app的ui線程進行的,所以如果我們在js中調用的Java方法有任何重新載入UI的操作,都需要在ui線程進行。

例如,在下面的例子中我們會調用一個Java方法,它彈出一個android的Alert對話框。

//給我們熟悉的AppActivity類稍微加點東西

public class AppActivity extends Cocos2dxActivity {

private static AppActivity app = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

app = this;

}

public static void showAlertDialog(final String title,final String message) {

//這裏一定要使用runOnUiThread

app.runOnUiThread(new Runnable() {

@Override

public void run() {

AlertDialog alertDialog = new AlertDialog.Builder(app).create();

alertDialog.setTitle(title);

alertDialog.setMessage(message);

alertDialog.setIcon(R.drawable.icon);

alertDialog.show();

}

});

}

}

然後我們在js中調用

jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "showAlertDialog", "(Ljava/lang/String;Ljava/lang/String;)V", "title", "hahahahha");

這樣調用你就可以看到一個android原生的Alert對話框了。

再加點料

現在我們可以從js調用Java了,那麼能不能反過來?當然可以! 在你的項目中包含Cocos2dxJavascriptJavaBridge,這個類有一個evalString方法可以執行js代碼,它位於frameworks\js-bindings\bindings\manual\platform\android\java\src\org\cocos2dx\lib檔案夾下。我們將會給剛纔的Alert對話框增加一個按鈕,並在它的響應中執行js。和上面的情況相反,這次執行js代碼必須在gl線程中進行。

alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

//一定要在GL線程中執行

app.runOnGLThread(new Runnable() {

@Override

public void run() {

Cocos2dxJavascriptJavaBridge.evalString("cc.log(\"Javascript Java bridge!\")");

}

});

}

});

這樣在點擊OK按鈕後,你應該可以在控制檯看到正確的輸出。evalString可以執行任何js代碼,並且它可以訪問到你在js代碼中的對象。