Android本地App與html5的互動
介紹:
Android的開發中除了本地app的處理外,有時需要與html5的互動,與html5的互動無非兩種情況。
1:html5呼叫app本地的方法。
例如,在一個網頁上點選一個分享按鈕控制元件,這時會彈出本地原生的一鍵分享介面,通過html5呼叫本地方法將值傳給本地分享所需的值。
2:app呼叫html5的javaScript方法。
同樣是分享,例如,在app上原生介面上點選分享按鈕然後呼叫html5的javaScript方法,javaScript方法裡面在呼叫本地原生的一鍵分享介面。
如何使用:
wv_demo.loadUrl(url);
wv_demo.setWebViewClient(new webViewClient());
wv_demo.getSettings().setJavaScriptEnabled(true);
wv_demo.addJavascriptInterface
(new mJavaScriptinterface(), "JSmeg");
//javaScript調android本地方法
class mJavaScriptinterface {
@JavascriptInterface //不能缺少
public void getShareInfo(String desc, String url, String title, String img) {
//本地方法
}}
private class webViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}}
html5呼叫app本地的方法,JSmeg是html5上的javaScript方法裡面的關鍵字,通過這個關鍵字將app本地方法繫結到一塊,呼叫本地getShareInfo方法。
js = "var newscript = document.createElement(\"script\");";
js += "newscript.src=\"http://www.test.com/resource/js/androidgetinfo.js\";";
js += "document.body.appendChild(newscript);";
wv_demo.loadUrl(url);
wv_demo.setWebViewClient(new webViewClient());
wv_demo.getSettings().setJavaScriptEnabled(true);
bt_test1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mHandler.post(new Runnable() {
@Override
public void run() {
wv_demo.loadUrl("javascript:androidGetInfo()");
//Android本地呼叫html中的javaScript 函式
}
});
}});
private class webViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
wv_demo.loadUrl("javascript:" + js);
//載入網路javascript方法
}}
app呼叫html5的javaScript方法,首先app在onPageFinished方法裡面先載入javaScript方法,然後在app本地按鈕監聽方法裡面呼叫html中的javaScript 函式。
相關推薦
Android本地App與html5的互動
介紹: Android的開發中除了本地app的處理外,有時需要與html5的互動,與html5的互動無非兩種情況。 1:html5呼叫app本地的方法。 例如,在一個網頁上點選一個分享按鈕控制元件,這時會彈出本地原生的一鍵分享介面,通過html5呼叫本地方法將值傳給本地分
【Android】App與App之間的互動
今天剛好公司有一個Android無介面外掛化的列印App需求,隨便在這裡寫下一點心得 知識點分析: 無介面 可比本公司的其他App任意呼叫 隱藏App的啟動圖示 一. 外掛App: (一)修改ac
android,ios與web互動-—APP使用H5頁面
一、ios與H5之間的互動 <!DOCTYPE html> <html> <meta charset="utf-8">
Android與html5互動 -- JavascriptInterface
Android中使用WebView可載入html5,具體步驟如下: (前提:本地Html5存放到assets資料夾下) 一:使用WebView載入Html5,簡單顯示 1:清單檔案中新增訪問許可權:android.permission.INTERNET 2:Activity
Android使用https與伺服器互動的正確姿勢
HTTPS 使用 SSL 在客戶端和伺服器之間進行加密通訊,錯誤地使用 SSL ,將會導致其它人能夠攔截網路上的應用資料。 使用一個包含公鑰及與其匹配的私鑰的證書配置伺服器,作為 SSL 客戶端與伺服器握手的一部分,伺服器將通過使用公鑰加密簽署其證書來證明自己具有私鑰。 主機平臺一般包含其信任的知名 CA
Android之webView與js互動
一、java呼叫js操作: 1.佈局檔案: <WebView android:id="@+id/web" android:layout_width="match_parent" android:layout_height="mat
Android中Webview與js互動
1.js呼叫Android程式碼Android端:webView.addJavascriptInterface(new WebHost(this),"js");向WebView註冊一個名叫“js”的物件,然後在JS中可以訪問js這個物件,呼叫這個物件裡的一些方法。 publi
android JNI java與C++互動篇(三)
整理來源:http://blog.csdn.net/qinning199/article/details/11750763 本文目的 要完成在cocos2dx的場景上一個點選事件,傳遞一個訊息到java層,下面讓我們看看如何完成它。 包括 你需要在你的專案中新
iOS與HTML5互動方法總結
摘要 看了不少別人寫的部落格或者論壇,關於iOS與HTML5互動方法大概主要有5種方式: 1. 利用WKWebView進行互動(系統API) 2. 利用UIWebView進行互動(系統API) 3. 蘋果的javascriptcore.framework框架; 4. 跨平臺cordov
app與後臺互動以及web與後臺互動的比較
前言: 以前的工作一直做的是web方面的測試工作,效能測試也主要是模擬web端向伺服器傳送http請求。對app這一塊的體系和框架了解比較少。由於下一份工作主要是測試app伺服器的效能。就在網上找了一些資料,簡單的搭建一個app的測試環境。同時希望能夠使用
Andorid APP與JS互動
本文展示了Android APP與js互動的程式碼,大部分來源於網路。DEMO地址:https://download.csdn.net/download/a872822645/10892939 首先是js介面: <!DOCTYPE html> <html lang="en"
【中期檢查】 搭建Android伺服器並與瀏覽器互動總結一
最近在寫優麒麟手機助手這個專案,優麒麟手機助手是Ubuntu Kylin組織的開源專案: 在Windows平臺上有眾多的安卓手機管理工具,如360手機助手、騰訊手機管家、豌豆莢等,但是在Linux平臺下卻鮮有功能強大的客戶端出現。為了一解我等Linuxer在學習
Android 本地廣播與全域性廣播
1. 全域性廣播和本地廣播的區別 全域性廣播:發出去的廣播可以被任何應用程式接收到 本地廣播:發出去的廣播只能被本應用程式接收到,一般使用LocalBroadcastManager對廣播進行管理。 2.註冊廣播 註冊廣播的方式一般有兩種:
Android:WebView與Javascript互動(相互呼叫引數、傳值)
Android中可以使用WebView載入網頁,同時Android端的java程式碼可以與網頁上的javascript程式碼之間相互呼叫。 效果圖: (一)Android部分: 佈局程式碼: <LinearLayout xmlns:android="http://s
iOS中原生APP與JS互動 之 WebViewJavascriptBridge 的簡單用法
有時候我們需要跟H5介面做一些簡單的互動功能,這就需要跟JS打交道了。 1、首先初始化一個webview(viewdidload) UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds
關於wkwebview與html5互動
之前寫過web與html5的互動,那時的載體是UIWebview,基於uiwebview屬於比較老舊的網頁載體,且記憶體消耗比較大,故今日打算把UIWebview替換成WKwebview,起初只認為是換個類名那麼簡單,替換過程才發現,是自己想的太簡單了,下面來
Android 客戶端與伺服器互動方式
突然想到一個問題就是Android客戶端與伺服器互動有幾種方式,因為在腦袋裡想當然的就是webservices和json。要在Android手機客戶端與pc伺服器互動,需要滿足下面幾種條件:跨平臺、傳輸資料格式標準、互動方便...。 為了與伺服器通訊其實無非就兩種協議HTT
ios開發app與js互動第三方工具WebViewJavascriptBridge的使用以及問題pod出現的問題處理
WebViewJavascriptBridge是一個ios與安卓通用的與js互動工具。使用起來非常方便,現在WebViewJavascriptBridge支援webview與WKWebView 首先要在.h或者.m裡面宣告 #import "WKWebViewJavasc
Android studio 中與本地 html 頁面互動
在Android studio的工程裡的main目錄下建立一個 assets目錄與res同級如下圖:在assets目下考入寫好的html頁面,webview通過“file:///android_assets/xxxx.html”載入此檔案。_webView.loadUrl
Android和HTML5混合開發中android程式碼與JS互動
當下HTML5非常火,使用HTML5混合開發的好處是當開發者想要修改某一個非原生頁面時,修改提交之後不用對應用進行升級發版,有人說HTML5將來將會取代原生開發,但個人感覺就目前來說這體驗感還沒完全達到原生的水平,今天做了個小Demo用於android與java