JS中调android的方法(1)

}

.file:hover {

background: #AADFFD;

border-color: #78C3F3;

color: #004974;

text-decoration: none;

}

支付成功

MainActivity.class

public class MainActivity extends AppCompatActivity {

private ProgressWebView webView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}

private void initView() {

webView = (ProgressWebView) findViewById(R.id.webView);

WebViewSettingUtil.setWebViewSetting(webView, MainActivity.this);

webView.loadUrl(“http://192.168.1.231:8088/water_exchange/waterexchange_jy/toSucess.html”);

webView.addJavascriptInterface(MainActivity.this, “android”);

}

/**

  • js中调用的android方法

*/

@JavascriptInterface

public void finishClose() {

runOnUiThread(new Runnable() {

@Override

public void run() {

Toast.makeText(MainActivity.this, “finishClose”, Toast.LENGTH_SHORT).show();

}

});

}

}

不要忘记加权限哦!!!

WebViewSettingUtil对WebView进行简单的包裹(这里是我做支付的时候用到的demo所以写的多了一点,正常是没有这么多的!!!)

public class WebViewSettingUtil {

public static void setWebViewSetting(final WebView webView, final Activity activity) {

if (webView != null) {

WebSettings webSettings = webView.getSettings();

webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存

webSettings.setJavaScriptEnabled(true);

webSettings.setSupportZoom(false);

webSettings.setBuiltInZoomControls(false);

webView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

System.out.println(“info: 20171113 url =”+ url );

// 获取上下文, H5PayDemoActivity为当前页面

final Activity context = activity;

// ------ 对alipays:相关的scheme处理 -------

if (url.startsWith(“alipays:”) || url.startsWith(“alipay”)) {

try {

context.startActivity(new Intent(“android.intent.action.VIEW”, Uri.parse(url)));

} catch (Exception e) {

new AlertDialog.Builder(context)

.setMessage(“未检测到支付宝客户端,请安装后重试。”)

.setPositiveButton(“立即安装”, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Uri alipayUrl = Uri.parse(“https://d.alipay.com”);

context.startActivity(new Intent(“android.intent.action.VIEW”,

alipayUrl));

}

}).setNegativeButton(“取消”, null).show();

}

return true;

}

// ------- 处理结束 -------

if (!(url.startsWith(“http”) || url.startsWith(“https”))) {

return true;

}

view.loadUrl(url);

System.out.println("info:url = " + url);

return true;

}

总结

算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。

这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。

部分资料展示:




有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
外链图片转存中…(img-iLySnShs-1714896930448)]
[外链图片转存中…(img-YCJxUDJB-1714896930449)]

有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

Android中,我们可以通过WebView加载包含JavaScript代码的网页,并与JavaScript进行交互。在你提供的引用中,有一些示例代码展示了如何在Android中调JavaScript方法。 首先,你需要在Android中创建一个WebView,并启用JavaScript功能。你可以使用以下代码实现: ``` WebView webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); ``` 这样就可以在WebView中使用JavaScript了。 接下来,你可以使用addJavascriptInterface方法将一个Java对象与JavaScript进行绑定,使得JavaScript可以调用Java对象中的方法。在你提供的引用中,可以看到一个名为PayJavaScriptInterface的类,它使用@JavascriptInterface注解定义了一些方法。这些方法可以在JavaScript中调用。例如,getUserinfo方法返回了一个字符串,haha方法弹出了一个Toast消息。 要在JavaScript中调用这些方法,我们可以通过以下方式: ``` webView.addJavascriptInterface(new PayJavaScriptInterface(), "demo"); ``` 这样,JavaScript就可以通过demo对象来调用PayJavaScriptInterface中的方法。 总结起来,你可以通过上述方法Android中与JavaScript进行交互。首先启用WebView的JavaScript功能,然后通过addJavascriptInterface方法将Java对象与JavaScript绑定。这样就可以在JavaScript中调用Java对象的方法了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Android-JS混合开发-简单应用](https://blog.csdn.net/qq_36488374/article/details/102484482)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [初次尝试用HTML/JS开发Android。](https://blog.csdn.net/weixin_30454481/article/details/97514764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值