说我有两个变量,x和y,我想将它们从MyActivity传递给JavaScript。这是我的代码:将变量从Android Activity传递到JavaScript
public class myNewActivity extends Activity {
double x;
double y;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
// get extras passed from another activity
Bundle extras = getIntent().getExtras();
if (extras != null) {
x = extras.getDouble("x");
y = extras.getDouble("y");
}
WebView webView = (WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
//webView.loadUrl("javascript:setX('"+x+"')");
//webView.loadUrl("javascript:setY('"+y+"')");
webView.loadUrl("file:///android_asset/index.html");
}
我正在尝试与两个注释行的东西,但只是崩溃的应用程序。这是JavaScript:
var x, y;
function init(){
// ... here I need the values of X and Y
}
function setX(ex) {
x = ex;
}
function setY(ey) {
y = ey
}
http://developer.android.com/guide/webapps/webview .html –
在页面加载后(在'onPageCompleted()')之后,你可以为你的js *运行'loadUrl'。不用实现'setX'和'setY',只需提供一个'setXY' - 少一个电话。 – 323go
@ 323go但是如果我想在我正在加载的页面上显示它们,我不需要以前的值吗?有没有其他的方法? – user1418018