Javascript函数不接收Android-Java值
Javascript function won't receive Android-Java value
我似乎不能把我的思想围绕Android-Java发送值到Javascript在我的webview。没有错误,只是不能工作。我第一次运行的sharedprefs存储测试工作得很好,只是将结果传递给Javascript失败了。我试过其他方法,但都失败了。我花了将近一个月的时间在这上面,在这里搜索和阅读了很多。
我应该使用布尔值以外的东西吗?我假设当Javascript获得结果时,它将是字符串格式。
一定是我做错了什么。我需要更改/添加/删除什么才能使其工作?
一些我的AndroidManifest.xml:
<uses-sdk
android:minSdkVersion="1"
android:targetSdkVersion="17" />
My MainActivity.java file:
public class MainActivity extends Activity {
private WebView wView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
wView = (WebView) findViewById(R.id.wView);
wView.getSettings().setJavaScriptEnabled(true);
wView.getSettings().setRenderPriority(RenderPriority.HIGH);
wView.addJavascriptInterface(new Check(this), "Flex"); // firstRunCheck
wView.loadUrl("file:///android_asset/www/index.html");
我的Check.java文件,它存储了我想要的布尔值,在sharedprefs:
public class Check extends MainActivity {
Context rContext;
Check(Context d){
rContext = d;
}
@JavascriptInterface
public void firstRunCheck(String key){
Boolean firstRunCheck = getSharedPreferences("PREFS", MODE_PRIVATE).getBoolean("firstRunCheck", true);
if (firstRunCheck) {
showAlert(); // this is a call to the showAlert() method.
getSharedPreferences("PREFS", MODE_PRIVATE).edit()
.putBoolean("firstRunCheck", false).commit();
return;
}
}
}
应该得到Java结果的Javascript函数:
Function FirstRunTest(){
var Result = Flex.firstRunCheck()
TextBox1.value = Result
}
返回void。您需要更改Check.java文件中的方法定义以返回一个值。
试题:
public boolean firstRunCheck(){
Boolean firstRunCheck = getSharedPreferences("PREFS", MODE_PRIVATE).getBoolean("firstRunCheck", true);
if (firstRunCheck) {
showAlert(); // this is a call to the showAlert() method.
getSharedPreferences("PREFS", MODE_PRIVATE).edit()
.putBoolean("firstRunCheck", false).commit();
}
return firstRunCheck;
}
在Javascript,假设Flex。firstRunCheck返回boolean:
Function FirstRunTest(){
var Result = Flex.firstRunCheck();
TextBox1.value = if(Result) ? "True" : "False";
}
相关文章:
- 将 JavaScript 相等运算符绑定到 Java 函数
- 在 javascript 函数中使用参数调用 java 函数
- Android Java 处理程序在循环中的每个记录处发布延迟
- Android java runnable runTimeException
- 在play框架中从javascript调用java函数
- 从 JavaScript over Android WebView 调用 Java 函数
- Android java json parse empty
- 检查IE9中javascript的小程序中是否存在Java函数
- 如何在 html 按钮的“onClick”上调用 java 函数
- 如何在android phongap应用程序中从javascript调用本机android方法(函数),而无需使用web
- 如何将变量从html传递到android java类
- 从Java函数向JS/JQuery函数赋值/传递值
- 我们可以从html文本框中调用一个java函数吗
- 如何在我的Cordova/Phonegap应用程序中从JavaScript调用Java函数
- 在另一个函数中没有从java函数获取数据
- 获取通过Java函数生成的动态内容的html源
- 如何从JavaScript Apache Wicket调用Java函数
- Javascript函数不接收Android-Java值
- Javascript调用java函数,并在Android webview上进行消费操作
- 在android上从javascript调用Java函数