導航:首頁 > 操作系統 > js訪問android

js訪問android

發布時間:2023-05-17 18:16:03

⑴ JS 調用android的方法該怎麼調

用webview打開網頁,然後通過webview與app的本地java代碼進行交互。
1、設置webview支持Javascript
mWebview.getSettings().setJavaScriptEnabled(true);

2、加進一個回調的代理類JavaScriptInterface,並給它一個調用的名稱:ncp
mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");
final class JavaScriptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}
3、JS頁面調用android方法
<script type="text/javascript">
window.onload = function(){
var _int_value = window.ncp.callOnJs(); //通過ncp代理調用android方法
}
</script>

⑵ JS 調用android的方法該怎麼調

<body>

<!-- Calls into the javascript interface for the activity -->

<!-- 從HTML文件中調用activity中的函數 -->

<!-- 也就是從HTML到android程序 留意window.demo.clickOnAndroid()這句話 -->

<a onClick="window.demo.clickOnAndroid()">Click</a>

</body>





mWebView.addJavascriptInterface(newDemoJavaScriptInterface(),"demo");

{
DemoJavaScriptInterface(){
}

/**
*ThisisnotcalledontheUIthread.Postarunnabletoinvoke
*
*loadUrlontheUIthread.
*
*/
publicvoidclickOnAndroid(){//注意這里的名稱。它為clickOnAndroid(),注意,注意,嚴重注意
mHandler.post(newRunnable(){
publicvoidrun(){

Toast.makeText....
}
});
}
}

⑶ javascript調用android問題

onclick="window.Android.show()"
你的語法寫錯了,js調用Android要用window.TAG
這個TAG就是
webView.addJavascriptInterface(new Object(), TAG); // 設置javaScript可用於操作Activity類
看你的代碼,你傳遞了一個Android
因此你的js里應改成window.Android.show();

⑷ 如何在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寫業務腳本、以提升載入速度、改善用戶體驗。

⑸ Js調用Android的方法

1、初始化WebView

X5WebView  webView =new X5WebView(this,null);我這里用的是騰訊的TBS瀏覽服務.詳情參考上一篇文章: https://www.jianshu.com/writer#/notebooks/10278901/notes/42868406

2、設置初始化WebSetting

3、給WebView添加addJavascriptInterface()

例如:

⑹ JS怎樣調用Android本地原生方法

NativeScript的工作原理:用JavaScript調用原生API實現跨平台 NativeScript是最近推出的一個跨平台解決方案,可以讓你可以用JavaScript來直接寫Android、iOS本地應用程序,未來還即將擴展到Windows平台。是最近比較受關注的項目。它與 nw (原名node-webkit ,用Web寫winodw/linux桌面應用)和 phonegap內嵌webview寫APP的實現方式有著本質的不同,它直接用JavaScript調用系統原生API,因而有一些原生應用的特點。 NativeScript是一個運行環境,可以讓你使用通用的JavaScript代碼,打造原生的iOS,Android和Windows(即將推出)應用程序。 NativeScript有很多很酷的功能,比如支持JavaScript對象雙向綁定到原生UI組件,以及用CSS為原生應用程序寫樣式。但我最喜歡的功能是NativeScript可以讓您直接訪問本地平台的原生API。 注* 可以理解為NativeScript是一個JavaScript V8運行環境的命令轉發代理,將JavaScript調用轉發給不同平台上的原生API如Android、iOS,以及即將支持的Windows。 例如,看看這個NativeScript寫的Android應用程序的代碼: 123var time = new android.text.format.Time();time.set( 1, 0, 2015 );console.log( time.format( "%D" ) );你只需要一兩分鍾來分析一下就明白了,這段JavaScript代碼實例化一個Java android.text.format.Time()對象,調用其set()方法,然後列印format後的返回值,是字元串「01/01/15」。 我知道你已經很激動了,先不要慌,讓我們再來看看iOS的代碼: 1234var alert = new UIAlertView();alert.message = "Hello world!";alert.addButtonWithTitle( "OK" );alert.show();這段JavaScript代碼實例化一個Objective-C UIAlertView類,設置它的信息屬性,然後調用它的addButtonWithTitle()和show()方法。當您運行這段代碼,你會看到hello word的警告框。 如果你已經熟悉了npm的使用,NativeScript模塊非常容易編寫,分發和使用。就個人而言,作為一個Web開發人員,原生的iOS和Android代碼讓我害怕,尤其是當Java / Objective-C的API文檔扔在一起的功能,它降低了我們跨平台開發的障礙。 還有HBuilder 也可以調用api

⑺ js 中調用android中的方法,復雜參數怎麼對應

webview中js調用本地java方法,這個功能實現起來稍微有點麻煩,不過也不怎麼復雜,首先要對webview綁定javascriptInterface,js腳本通過這個介面來調用java代碼。

contentWebView.addJavascriptInterface(this, "wst"); javainterface實際就是一個普通的java類,裡面是我們本地實現的java代碼, 將object 傳遞給webview,並指定別名,這樣js腳本就可以通過我們給的這個別名來調用我們的方法,在上面的代碼中,this是實例化的對象,wst是這個對象在js中的別名

閱讀全文

與js訪問android相關的資料

熱點內容
阿里雲sip伺服器 瀏覽:73
身為程序員的你怎麼拚命 瀏覽:453
android圖片手勢放大 瀏覽:586
錢的所有演算法 瀏覽:13
光模塊伺服器怎麼直接連電腦 瀏覽:376
編譯器識別單詞 瀏覽:344
2b2t伺服器怎麼獲得金蘋果 瀏覽:344
SQL如何進行伺服器配置 瀏覽:175
貿易公司適合在什麼app引流 瀏覽:717
高級c語言編程還在用turboc 瀏覽:884
cad如何畫單片機 瀏覽:13
管理雲伺服器哪個軟體好 瀏覽:747
什麼app可以消除照片一片水印 瀏覽:242
在什麼app上發表條漫 瀏覽:88
安卓電腦主機怎麼打開 瀏覽:819
eos生態app什麼時候可以登陸 瀏覽:397
找安裝維修工人用什麼App 瀏覽:300
區位碼加密 瀏覽:854
考編教師用什麼app 瀏覽:195
靜態面向對象編程語言 瀏覽:908