【发布时间】:2019-01-24 10:40:30
【问题描述】:
我正在开发一个安卓应用程序。我想将我的webview 中的一些值传递给我的android 应用程序。
我使用Passing data from java class to Web View html 中给出的解决方案成功地解决了这个问题。
我面临的问题是当我尝试从JavaScriptInterface.java 调用MainActivity 方法时,这些方法没有被调用或没有给出错误。
这是我迄今为止尝试过的:
MainActivity act=new MainActivity();
act.myMethod() //This method is available in my activity
但它没有被调用。
和
((MainActivity)getActivity).myMethod();
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.AppTheme);
setContentView(R.layout.activity_main);
}
public void myMethod() {
Toast.makeText(this, "Inside MainActivity", Toast.LENGTH_SHORT).show();
}
}
//JavaScriptInterface class
class JavaScriptInterface {
Context mContext;
JavaScriptInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void onButtonClick(String toast1, String toast2) {
Toast.makeText(mContext, toast1+" | "+toast2, Toast.LENGTH_SHORT).show(); //THIS IS WORKING
MainActivity act=new MainActivity();
act.myMethod(); //NOT WORKING
}
}
【问题讨论】:
标签: javascript java android webview