分类
未分类

修改ionic4的目标安卓版本

ionic4 有个叫 config.xml的文件

在这里加入几行就可以指定版本

<preference name="android-minSdkVersion" value="19" />
    <preference name="android-targetSdkVersion" value="26" />
    <preference name="android-maxSdkVersion" value="27" />

有什么作用的话,就是可以暂时规避android的安全设置。

最新的android版本对webview的http请求要求是https,但是https有时候设置起来不太方便。

这时候除了反代之外,其实可以将android的目标版本降低,这样就可以暂时规避,但为了数据安全考虑,建议尽早上https。

参考文档: https://cordova.apache.org/docs/en/latest/config_ref/

分类
angular ionic

基于安卓平台 JS 与 Java 互操作 (采用ionic4/angular6技术)

背景:安卓中的 webView 要求实现 内嵌的 js 调用 安卓APP的方法 与并且支持安卓回调js代码  来实现。

WebView部分

webView.addJavascriptInterface(new JsInterface(this), "AndroidWebView"); //重要的


Java部分

@SuppressLint({“SetJavaScriptEnabled”, “AddJavascriptInterface”})
class JsInterface {
private Context mContext;

public JsInterface(Context context) {
this.mContext = context;
}

@JavascriptInterface
public String getName(){
return getUser();
}

@JavascriptInterface
public String getPass(){
return getPass();
}



Js部分

function loading(){
var name=window.AndroidWebView.getName()
var pass=window.AndroidWebView.getPass()//调用java方法
$.post(“101.111.11:800”,{remark:name,password:pass},function(result){
var obj=result;
if(obj.code==100){
toast(“登录成功”);
}else{
toast(“登录失败”);
}
});
}



来源: https://blog.csdn.net/u014548562/article/details/77916409 

以上是我看博客的时候看到的,在angular中 我直接在html中写,发现不可以传变量过去,
例如:

<input onclick=”window.callJava.functionz(‘string’)”></input>

<input onclick=”window.callJava.functionz(parmString.toSring())”></input>

后来发现需要在ts代码中这样使用才可以。

相关文章链接:
1.Java执行JavaScript代码http://www.jb51.net/article/81577.htm

2.JAVA执行javascript方法http://blog.csdn.net/jianggujin/article/details/51046122

3.如何在java中调用js方法http://www.cnblogs.com/langtianya/archive/2012/09/18/2690860.html