从java代码(cordovaActivity)android调用javascript函数
嗨,我是android新手,正在使用cordova开发应用程序。与此同时,我被迫在native和angularjs之间切换,好的是我能够从javascript代码调用java方法,但我无法实现相反的效果。这是我的android代码从java代码(cordovaActivity)android调用javascript函数,java,android,angularjs,cordova,ionic,Java,Android,Angularjs,Cordova,Ionic,嗨,我是android新手,正在使用cordova开发应用程序。与此同时,我被迫在native和angularjs之间切换,好的是我能够从javascript代码调用java方法,但我无法实现相反的效果。这是我的android代码 public class CordovaApp extends CordovaActivity { JavaScriptInterface javaScriptToJava = new JavaScriptInterface(this); @Overr
public class CordovaApp extends CordovaActivity
{
JavaScriptInterface javaScriptToJava = new JavaScriptInterface(this);
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
appView.getSettings().setJavaScriptEnabled(true);
appView.addJavascriptInterface(javaScriptToJava, "javaScriptToJava");
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}
//on ActivityResult method
public void onActivityResult(int requestCode, int resultCode,Intent intent) {
if (requestCode == 0) {
Log.d("outside","on ----------------------");
if(resultCode == RESULT_OK) {
//get the extras that are returned from the intent
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.d("inside on activity result",contents);
}
}
if(requestCode==1)
{
Log.d("onactivity result","got into second activity");
int position=intent.getIntExtra("Message",0);
Log.d("inside on activity result",""+position);
//appView.loadUrl("javascript:alert(javaScriptToJava.startScanner())");
//this is working-----------
//appView.loadUrl("javascript:(function(){document.getElementById('signin').click()})()");
//appView.loadUrl("file:///android_asset/www/index.html");
appView.loadUrl("javascript:testFunction()");
}
}
}
我也尝试过webViewClient,但没有成功。我尝试过在login.html和index.html中提供脚本,但仍然没有定义它的giving testFunction。
这是我在login.html中编写的示例脚本
<ion-view style="background: #8eb4e3;" >
<ion-content has-header="false"
padding="true">
<div class="body" >
<div style="margin-top: 60px;" align="center">
<img src="img/login_logo_MyStock.png" class="loginLogo">
</div>
<div style="margin-top: 25px;" align="center" ng-enter="login1()" >
</div>
<div style="margin-top: 50px;" align="center">
<img src="img/Tesco.png" class="tescoLogo">
</div>
</div>
<script type="text/javascript">
alert("inside script");
function testFunction()
{
alert("came to testFunction");
}
</script>
</ion-content>
</ion-view>
警报(“内部脚本”);
函数testFunction()
{
警报(“来到testFunction”);
}
在这个问题上有人能帮忙吗
<ion-view style="background: #8eb4e3;" >
<ion-content has-header="false"
padding="true">
<div class="body" >
<div style="margin-top: 60px;" align="center">
<img src="img/login_logo_MyStock.png" class="loginLogo">
</div>
<div style="margin-top: 25px;" align="center" ng-enter="login1()" >
</div>
<div style="margin-top: 50px;" align="center">
<img src="img/Tesco.png" class="tescoLogo">
</div>
</div>
<script type="text/javascript">
alert("inside script");
function testFunction()
{
alert("came to testFunction");
}
</script>
</ion-content>
</ion-view>