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

您的位置:首頁技術文章
文章詳情頁

Android和JS的交互問題

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

問題描述

前端寫了這樣的代碼。

Android和JS的交互問題

Android和JS的交互問題

我應該怎么響應呢?大神請幫忙解答一下,不要說 讓我去百度了。我找不到不會才提問的。

問題解答

回答1:

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

return true;

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

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

添加Javascript的映射Webview:

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

Javascript直接調用Java方法:

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

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

回答2:

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

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.

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

如果功能簡單的話, 參考上面JSBridge的思路, 可以自定義實現WebView的alert方法,用了傳事件

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

回答3:

WebView有一個addJavascriptInterface方法,可以看下這個,或者自己通過WebChromeClient自己實現。還有就是也可以使用第三方封裝,比如cordovacordova-android。

回答4:

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

JS代碼不能這么寫, Native & JS 之間需要有一個JS對象才能完成交互.

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

回答5:

先吐個槽,你們這前端相當于什么都沒干嘛。。。我接觸這方面的東西不算多,也就是做過一些簡單的交互,說一點粗淺的用法關于js與Android原生交互,Android本身提供了JavaScriptInterface注解,使用這個注解可以實現兩端的交互,但是回調執行起來卻不怎么方便(或許是我使用的姿勢不對)。同時這里有一個不錯的輪子,使用起來更簡單些,你也可以參考下:jsBridge.

回答6:

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

回答7:

addJavaScriptInterface這個方法是最簡單的了。假如還要更高級的,就需要看下下面這篇文章,寫的挺好。好好和h5溝通!幾種常見的hybrid通信方式

相關文章:
主站蜘蛛池模板: 国产美女视频黄a视频全免费网站 | 久久精品免费观看视频 | 国产一级做a爰片久久毛片99 | 国产视频97| 亚洲资源在线观看 | 午夜一区二区福利视频在线 | 在线亚洲日产一区二区 | 男女午夜免费视频 | 手机在线成人精品视频网 | 亚洲免费在线视频播放 | 国产精品欧美视频另类专区 | 久久精品国产屋 | 丰满老熟女毛片 | 日本一区二区三区在线 视频观看免费 | 在线观看欧洲成人免费视频 | 久久伊人男人的天堂网站 | 福利社在线 | 国产成人永久免费视频 | 日本 国产 欧美 | 99久99久6久热在线播放 | 香蕉视频1024 | 亚洲国产欧美一区二区欧美 | 目韩一区二区三区系列片丶 | 一级国产| 欧美午夜精品一区二区三区 | 国产精品久久久久久久久 | 久久99久久99精品免观看 | 在线视频 亚洲 | 亚洲天堂精品在线观看 | 午夜亚洲 | 国产美女一区二区三区 | 成年人免费毛片 | 国产欧美在线观看不卡一 | 97超级碰碰碰免费公开在线观看 | 国产三级网站在线观看 | 在线观看视频99 | 91成人免费在线视频 | 毛片在线不卡 | 久久综合中文字幕一区二区 | 青青青青爽视频在线播放 | 日本三级香港三级少妇 |