国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android和JS的交互問(wèn)題

瀏覽:121日期:2024-08-17 14:05:01

問(wèn)題描述

前端寫(xiě)了這樣的代碼。

Android和JS的交互問(wèn)題

Android和JS的交互問(wèn)題

我應(yīng)該怎么響應(yīng)呢?大神請(qǐng)幫忙解答一下,不要說(shuō) 讓我去百度了。我找不到不會(huì)才提問(wèn)的。

問(wèn)題解答

回答1:

讓你去Google 你去嗎?哈哈哈,說(shuō)著玩的。。。下面是解答:

return true;

是想把這個(gè) 布爾值返回給Android端嗎?如果是就調(diào)用Android 中約定好的方法。如果想從Javascript調(diào)的方法里面獲取到返回值,只需要定義一個(gè)帶返回值的@JavascriptInterface方法:

public class AndroidMessage {@JavascriptInterfacepublic String getMsg() { return 'form java';} }

添加Javascript的映射Webview:

webView.addJavascriptInterface(new AndroidMessage(), 'AndroidMessage');

Javascript直接調(diào)用Java方法:

function showAlert(){var str=window.AndroidMessage.getMsg();console.log(str); }

你可以參考這里:Android 與 js 交互

回答2:

可以使用JavascriptInterface, 具體看WebView的addJavascriptInterface方法:https://developer.android.goo... java.lang.String).不過(guò)17以前存在漏洞,JS可以通過(guò)反射獲取到App的公開(kāi)屬性和方法,并使用App已有的權(quán)限

This method can be used to allow JavaScript to control the host application. This is a powerful feature, but also presents a security risk for apps targeting JELLY_BEAN or earlier. Apps that target a version later than JELLY_BEAN are still vulnerable if the app runs on a device running Android earlier than 4.2. The most secure way to use this method is to target JELLY_BEAN_MR1 and to ensure the method is called only when running on Android 4.2 or later. With these older versions, JavaScript could use reflection to access an injected object’s public fields. Use of this method in a WebView containing untrusted content could allow an attacker to manipulate the host application in unintended ways, executing Java code with the permissions of the host application. Use extreme care when using this method in a WebView which could contain untrusted content.

可以使用這個(gè)JSBridge, 不過(guò)這個(gè)用了以后就不能使用WebView.setWebViewClient()方法:https://github.com/lzyzsd/JsB...

如果功能簡(jiǎn)單的話, 參考上面JSBridge的思路, 可以自定義實(shí)現(xiàn)WebView的alert方法,用了傳事件

話說(shuō)SF怎么知道我剛剛弄了Android和JS交互?

回答3:

WebView有一個(gè)addJavascriptInterface方法,可以看下這個(gè),或者自己通過(guò)WebChromeClient自己實(shí)現(xiàn)。還有就是也可以使用第三方封裝,比如cordovacordova-android。

回答4:

不去百度, 那就去Google呀...

JS代碼不能這么寫(xiě), Native & JS 之間需要有一個(gè)JS對(duì)象才能完成交互.

參考資料:Android中Java與JavaScript交互的幾種方式

回答5:

先吐個(gè)槽,你們這前端相當(dāng)于什么都沒(méi)干嘛。。。我接觸這方面的東西不算多,也就是做過(guò)一些簡(jiǎn)單的交互,說(shuō)一點(diǎn)粗淺的用法關(guān)于js與Android原生交互,Android本身提供了JavaScriptInterface注解,使用這個(gè)注解可以實(shí)現(xiàn)兩端的交互,但是回調(diào)執(zhí)行起來(lái)卻不怎么方便(或許是我使用的姿勢(shì)不對(duì))。同時(shí)這里有一個(gè)不錯(cuò)的輪子,使用起來(lái)更簡(jiǎn)單些,你也可以參考下:jsBridge.

回答6:

去了解一下android和JS交互的基礎(chǔ)原理,其中之一是WebView.addJavaScriptInterface(),這個(gè)看明白了,你就知道該怎么做了,如果你僅僅是想實(shí)現(xiàn)個(gè)back的功能,非常的簡(jiǎn)單,如果你的android和JS有很多類似于這樣的交互,建議你引入框架,比如JSBridge,這個(gè)框架把a(bǔ)ndroid和JS的通信進(jìn)行了封裝,所以大規(guī)模交互的時(shí)候,你用起來(lái)會(huì)輕松很多。望采納

回答7:

addJavaScriptInterface這個(gè)方法是最簡(jiǎn)單的了。假如還要更高級(jí)的,就需要看下下面這篇文章,寫(xiě)的挺好。好好和h5溝通!幾種常見(jiàn)的hybrid通信方式

相關(guān)文章:
主站蜘蛛池模板: 日本久久久久一级毛片 | 日本护士一级毛片在线播放 | 久久免费看片 | 美日韩一区二区 | 97视频久久 | 欧美成人高清在线视频大全 | 成人网视频在线观看免费 | 亚洲综合黄色 | 俄罗斯美女毛片 | 美女视频黄的免费视频网页 | 久久88香港三级 | 免费鲁丝片一级观看 | 中文字幕在线成人免费看 | 日韩 综合 | 一级毛片免费观看久 | 欧美有码在线观看 | 国产一及片 | 久久99精品久久久久久 | 国产精品视频久 | 免费看香港一级毛片 | 午夜在线社区视频 | 日本欧美一区二区三区视频 | 97一级毛片全部免费播放 | 成人a免费α片在线视频网站 | av人摸人人人澡人人超碰 | 国产一级内谢a级高清毛片 国产一级片毛片 | 国产视频高清在线观看 | 亚洲国产欧美在线人成精品一区二区 | 黄色成人在线观看 | 黄色一级毛片 | 偷自拍第一页 | 欧美三级久久 | 各种偷拍盗摄视频在线观看 | 精品毛片视频 | 成人在免费观看视频国产 | 亚洲精品国产一区二区在线 | 欧美一级高清片欧美国产欧美 | 高清精品一区二区三区一区 | 嫩草影院ncyy在线观看 | 在线亚洲精品自拍 | 波多野结衣一区在线观看 |