webview html 按钮,android - Webview's Html button click detection in Activity(java code) - Stack Overf...

Web code:

HTML Code :

@Utility.GetDisplayName(Utility.ResourceKey.lblClicktoApp)

Jquery :

var model = {

"_id": nationalid,//if need to send as argument

"btnId":"btnsubmit"

};

function getValues() {

document.getElementById("btnsubmit").value = _id

}

document.getElementById("btnsubmit").addEventListener("click", function () {

webkit.messageHandlers.callbackHandler.postMessage(model);

});

Android:

act_webview_WebView.addJavascriptInterface(MyJavaScriptInterface(mContext),"ok")

act_webview_WebView!!.webViewClient = object : WebViewClient() {

override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {

view?.loadUrl(url)

return true

}

override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {

super.onPageStarted(view, url, favicon)

try {

webview_progressBar.visibility = View.VISIBLE

} catch (e: Exception) {

e.printStackTrace()

}

}

override fun onPageFinished(view: WebView?, url: String?) {

super.onPageFinished(view, url)

try {

webview_progressBar.visibility = View.GONE

} catch (e: Exception) {

e.printStackTrace()

}

}

override fun onReceivedError(

view: WebView?,

request: WebResourceRequest?,

error: WebResourceError?

) {

super.onReceivedError(view, request, error)

try {

webview_progressBar.visibility = View.GONE

} catch (e: Exception) {

e.printStackTrace()

}

}

}

act_webview_WebView!!.loadUrl(URL)

act_webview_WebView.addJavascriptInterface(new Object()

{

@JavascriptInterface

public void performClick()

{

Log.d("LOGIN::", "Clicked");

Toast.makeText(MainActivity.this, "Login clicked", Toast.LENGTH_LONG).show();

}

}, "login");

Proguard :

# For webview

#Start

#-keep class * extends android.webkit.WebChromeClient { *; }

#-dontwarn im.delight.android.webview.*

-keep class android.support.v8.renderscript.** { *; }

-keepclassmembers class apppackage.WebviewFragments {

public *;

}

-dontwarn

-keepattributes Signature

-keepattributes SetJavaScriptEnabled

-keepattributes JavascriptInterface

-keepattributes InlinedApi

-keepattributes SourceFile,LineNumberTable

-keepattributes *Annotation*

-keepclassmembers class * {

@android.webkit.JavascriptInterface ;

}

-keepclassmembers class * {

@android.webkit.JavascriptInterface ;

}

-keepclassmembers class **.*$MyJavaScriptInterface {

*;

}

-keepclassmembers class **.*$JavaScriptInterface {

*;

}

-keep public class **.*$MyJavaScriptInterface

-keep public class **.*$JavaScriptInterface

#END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值