真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android應(yīng)用中怎么實(shí)現(xiàn)與H5互調(diào)

Android應(yīng)用中怎么實(shí)現(xiàn)與H5互調(diào)?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供長(zhǎng)樂(lè)網(wǎng)站建設(shè)、長(zhǎng)樂(lè)做網(wǎng)站、長(zhǎng)樂(lè)網(wǎng)站設(shè)計(jì)、長(zhǎng)樂(lè)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、長(zhǎng)樂(lè)企業(yè)網(wǎng)站模板建站服務(wù),10多年長(zhǎng)樂(lè)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

案例一:Java與Js簡(jiǎn)單互調(diào)

        首先,在Android代碼中加載H5頁(yè)面:

private void initWebView() {
  webView = new WebView(this);
  WebSettings webSettings = webView.getSettings();
  //設(shè)置支持javaScript腳步語(yǔ)言
  webSettings.setJavaScriptEnabled(true);

  //支持雙擊-前提是頁(yè)面要支持才顯示
  webSettings.setUseWideViewPort(true);

  //支持縮放按鈕-前提是頁(yè)面要支持才顯示
  webSettings.setBuiltInZoomControls(true);

  //設(shè)置客戶(hù)端-不跳轉(zhuǎn)到默認(rèn)瀏覽器中
  webView.setWebViewClient(new WebViewClient());

  //加載網(wǎng)絡(luò)資源
  //webView.loadUrl("http://atguigu.com/teacher.shtml");
  webView.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html");

  //顯示頁(yè)面
  setContentView(webView);
 }

        JavaAndJavaScriptCall.html:



 
 


谷粉

        Java調(diào)用javaScript:

/**
 * Java調(diào)用javaScript
 * @param numebr
 */
private void login(String numebr) {
 webView.loadUrl("javascript:javaCallJs("+"'"+numebr+"'"+")");
 setContentView(webView);
}

        JavaScript調(diào)用Java

 /**
  * js可以調(diào)用該類(lèi)的方法
  */
 class AndroidAndJSInterface{
  @JavascriptInterface
  public void showToast(){
   Toast.makeText(JavaAndJSActivity.this, "我被js調(diào)用了", Toast.LENGTH_SHORT).show();
  }
 }
 //與此同時(shí)需要在webview當(dāng)中注冊(cè),后面的“Android”與html中的對(duì)應(yīng):
 webView.addJavascriptInterface(new AndroidAndJSInterface(),"Android");
 //html里的點(diǎn)擊事件實(shí)現(xiàn):

案例二:H5頁(yè)面調(diào)用Android播放視頻

        了解了簡(jiǎn)單調(diào)用,下面講的這個(gè)也就簡(jiǎn)單了:

        1_JsCallJavaVideoActivity的布局和實(shí)例化控件

<?xml version="1.0" encoding="utf-8"?>


 

        2_實(shí)例化控件并且配置

public class JsCallJavaVideoActivity extends Activity {

 private WebView webView;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_js_call_java_video);
  webView = (WebView) findViewById(R.id.webview);
  WebSettings webSettings = webView.getSettings();
  //設(shè)置支持javaScript腳步語(yǔ)言
  webSettings.setJavaScriptEnabled(true);

  //支持雙擊-前提是頁(yè)面要支持才顯示
//  webSettings.setUseWideViewPort(true);

  //支持縮放按鈕-前提是頁(yè)面要支持才顯示
  webSettings.setBuiltInZoomControls(true);

  //設(shè)置客戶(hù)端-不跳轉(zhuǎn)到默認(rèn)瀏覽器中
  webView.setWebViewClient(new WebViewClient());

  //加載網(wǎng)絡(luò)資源
//  webView.loadUrl("http://atguigu.com/teacher.shtml");
   webView.loadUrl("file:///android_asset/RealNetJSCallJavaActivity.htm");

 }

 }

        3_加載頁(yè)面

//加載本地資源 
 webView.loadUrl("file:///android_asset/RealNetJSCallJavaActivity.htm");

        4_參照js代碼寫(xiě)Java被調(diào)用代碼

url = "/mobiles/interActive/65411";
var videourl = "http://10.0.2.2:8080/yellow.mp4";
var itemid = "65411";
var itemdesc = "1級(jí)單殺小龍,5級(jí)單殺峽谷先鋒!"; 
var itempic = "/upload/otherpic70/130803.jpg";
var itemtitle = "6.9瑪爾扎哈OP套路教程";
var obj_play = document.getElementById('play');
var obj_download = document.getElementById('download');
if(obj_play != null) {
 obj_play.ontouchstart = function() {
  this.className = 'inter_click';
  javascript:android.playVideo(itemid, videourl, itemtitle);
  ajaxrequest('/stat/item', "POST", true, {type:'play', id:itemid});
 }
 obj_play.ontouchend = function() {
  this.className = 'inter';
 }
}

        5_配置Javascript接口

//設(shè)置支持js調(diào)用java
webView.addJavascriptInterface(new AndroidAndJSInterface(),"android");

        6_Javascript接口類(lèi)

class AndroidAndJSInterface {
 /**
  * 該方法將被js調(diào)用
  * @param id
  * @param videoUrl
  * @param tile
  */
 @JavascriptInterface
 public void playVideo(int id,String videoUrl,String tile){
  //調(diào)起系統(tǒng)所有播放器
  Intent intent = new Intent();
  intent.setDataAndType(Uri.parse(videoUrl),"video/*");
  startActivity(intent);
 }
}

案例三:H5頁(yè)面調(diào)用Android撥打電話

        1_JsCallJavaCallPhoneActivity布局

<?xml version="1.0" encoding="utf-8"?>


 

        2_初始化WebView并且配置

private WebView webView;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_js_call_java_video);
  webView = (WebView) findViewById(R.id.webview);
  WebSettings webSettings = webView.getSettings();
  //設(shè)置支持javaScript腳步語(yǔ)言
  webSettings.setJavaScriptEnabled(true);

  //支持雙擊-前提是頁(yè)面要支持才顯示
//  webSettings.setUseWideViewPort(true);

  //支持縮放按鈕-前提是頁(yè)面要支持才顯示
  webSettings.setBuiltInZoomControls(true);

  //設(shè)置客戶(hù)端-不跳轉(zhuǎn)到默認(rèn)瀏覽器中
  webView.setWebViewClient(new WebViewClient());

  //設(shè)置支持js調(diào)用java
  webView.addJavascriptInterface(new AndroidAndJSInterface(), "Android");

  //加載本地資源
//  webView.loadUrl("http://atguigu.com/teacher.shtml");
  webView.loadUrl("file:///android_asset/JsCallJavaCallPhone.html");

 }

        3_加載JsCallJavaCallPhone.html頁(yè)面

//加載本地資源
// webView.loadUrl("http://atguigu.com/teacher.shtml");
  webView.loadUrl(file:///android_asset/JsCallJavaCallPhone.html);

        4_從java代碼傳遞json數(shù)據(jù)給javascript

class AndroidAndJSInterface {
 /**
  * 該方法將被js調(diào)用,用于加載數(shù)據(jù)
  */
 @JavascriptInterface
 public void showcontacts() {
  // 下面的代碼建議在子線程中調(diào)用
  String json = "[{\"name\":\"阿福\", \"phone\":\"18600012345\"}]";
  // 調(diào)用JS中的方法
  webView.loadUrl("javascript:show('" + json + "')");
 }

 }

        5_撥打電話代碼

class AndroidAndJSInterface {
  /**
   * 該方法將被js調(diào)用,用于加載數(shù)據(jù)
   */
  @JavascriptInterface
  public void showcontacts() {
   // 下面的代碼建議在子線程中調(diào)用
   String json = "[{\"name\":\"阿福\", \"phone\":\"18600012345\"}]";
   // 調(diào)用JS中的方法
   webView.loadUrl("javascript:show('" + json + "')");
  }
  /**
   * 撥打電話
   * @param phone
   */
  public void call(String phone) {
   Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));
//   startActivity(intent);
  }
 }

        6_h6頁(yè)面:


 
  
  Insert title here
  
 
 

 
姓名 電話

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


分享名稱(chēng):Android應(yīng)用中怎么實(shí)現(xiàn)與H5互調(diào)
文章分享:http://weahome.cn/article/psopps.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部