js交互

//quanzi
function goFriend() {
	var ua = navigator.userAgent.toLowerCase();	
	var jsons="{\"mainAction\": \"friendCircle\"}";	
	if (/iphone|ipad|ipod/.test(ua)) {		
		  //var response = prompt('Hello', 'Please input your name:');       
		  //return response;	
		  window.webkit.messageHandlers.AppModel.postMessage({body: jsons});	
	} else if (/android/.test(ua)) {
		var aaa = getUserInfo();
		  userInfo.friendQuan(jsons);
	}

}

package my.com.my;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

import junit.framework.Test;

import org.json.JSONException;
import org.json.JSONObject;

public class MainActivity extends Activity {

    private WebView web;
    public String va;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        web=(WebView)findViewById(R.id.web);
        web.loadUrl("http://shipinhuiapp.68cwd.cn/quanzi/");
        web.getSettings().setJavaScriptEnabled(true);
        web.addJavascriptInterface(new AndroidCall(this), "userInfo");//userInfo固定

        web.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
    }

    class AndroidCall {

        public Context context;

        public AndroidCall(Context context) {
            this.context = context;
        }

        /**
         * 打開圖庫選擇圖片
         * 此方法供js調用
         */
        //得到用戶ID
        @JavascriptInterface
        public String getUserInfo() {
            return "11111";
        }
       /* @JavascriptInterface
        public void setUserInfo(String value) {
            va = value;
        }
*/

        @JavascriptInterface
        public void friendQuan(String s) {
            Log.e("圈子===", s);




        }

      /*  @JavascriptInterface
        public void releaseContentSS(String s) {
            Log.e("圈子===", s);
            try {
                JSONObject objectt = new JSONObject(s);
                String methodID = objectt.getString("methodID");
                String ctypeID = objectt.getString("ctypeID");
                //startActivity(new Intent(WebViewFirst.this, Find_ChuangJianShangJi_two.class).putExtra("one", "1").putExtra("ctype",ctypeID));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            // startActivity(new Intent(WebViewFirst.this, Find_ChuangJianShangJi_two.class).putExtra("one","1"));

        }

*/
/*

        @JavascriptInterface
        public void setShare(String src) {
            String js = src;
            Log.e("getImageSrc1", src);
        }
*/

        @JavascriptInterface
        public void showSource(String src) {


            /**
             *
             */

        }
    }
}

#################################
web.setWebViewClient(new WebViewClient(){
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        /**這個是加載網頁首圖的*/
        web.loadUrl("javascript:window.userInfo.showSource(document.getElementsByTagName('img')[0].src);");
    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章