解决方案 »
- IPowerManager移植问题
- 一个android应用程序, sdk 由Android2.2 sdk 变为Android4.0 sdk 的问题
- Android小项目源码汇总
- 使用spinner,程序运行就崩溃,请帮忙看看。
- 求一个android上面接收邮件的程序
- java中,截取字符,并取对应的值的问题,在线等
- 我是新手学生,自学android,求助
- 极光推送有人用过没有?
- Android程序第一次开机启动后,希望后面第二次第三次的开机不启动
- 请教大家一个小问题,android可以做共享软件吗,类似原来windows上的
- 从一个Activity跳到另一个时出现“...已终止”
- SurfaceView的一个问题
StartExamPaperPlugin.this.cordova.startActivityForResult(StartExamPaperPlugin.this,intent, 1);
在这个方法里面 WebView 无法显示内容 , 这个你打一下日志 跟一下 在哪出了问题, 跳转界面成功 , 并且有返回值, 但是 没有显示网页是吧 , 贴一下 这个 Activity 源码 看看;
不回调 onActivityResult()方法的这个 : 这个 跟上面的 那个 是通一个 Activity 吗 贴下代码看看 ;贴一下 两个类的完整代码 , 把相关的 标注一下 , 分析分析
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.appView = (CordovaWebView) findViewById(R.id.web); super.setIntegerProperty("splashscreen", R.drawable.loading_new); super.loadUrl("http://10.20.。。", 5000); //此处地址忽略
CordovaInterface cordovaInterface = (CordovaInterface) this;
CordovaWebViewClient cordovaWebViewClient = new CordovaWebViewClient(
cordovaInterface, this.appView) { @Override
public void onPageFinished(WebView arg0, String arg1) {
// TODO Auto-generated method stub
super.onPageFinished(arg0, arg1);
} @Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
} @Override
public void onReceivedError(WebView arg0, int arg1, String arg2,
String arg3) {
// TODO Auto-generated method stub
super.onReceivedError(arg0, arg1, arg2, arg3);
} }; this.appView.setWebViewClient(cordovaWebViewClient);
}}
下面是插件类
package com.archermind.wxt.phonegap_plugin;import android.content.Intent;public class StartExamPaperPlugin extends CordovaPlugin {
CallbackContext callbackContext;
Intent intent;
String type;
@Override
public boolean execute(String action, JSONArray args,
final CallbackContext callbackContext) throws JSONException {
// TODO Auto-generated method stub
this.callbackContext = callbackContext;
if ("ExamPaper".equals(action)) {
// final Intent intent = new Intent();
intent = new Intent();
intent.putExtra("test", args.getString(0)); // 这个地方放的是 无用参数,因为是项目中截取的代码,这个参数无意义
intent.setClass(cordova.getActivity(), ExamPaper.class);
handler.sendEmptyMessage(Constant.START_ACTIVITY_ACTION);
return true;
}
return false;
} private Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg == null) {
return;
}
switch (msg.what) {
case Constant.START_ACTIVITY_ACTION:
// StartExamPaperPlugin.this.cordova.startActivityForResult(StartExamPaperPlugin.this,intent, 1); //此处webView不显示
cordova.getActivity().startActivityForResult(intent, 1); // 此处onActivityResult不执行,等待解决方法
// cordova.getActivity().startActivity(intent);
break;
}
};
};
/**
* onActivityResult
* StartExamPaperPlugin.this.cordova.startActivityForResult(StartExamPaperPlugin.this,intent, 1);
* ------可以返回数据,但导致ExamPaperActivity中的webView无法显示
* cordova.getActivity().startActivityForResult(intent, 1);
* ------无法执行onActivityResult,临时用全局静态变量解决,等待更好解决方法
*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
// 传递返回值 给js方法
switch (resultCode) { // resultCode为回传的标记,我在第二个Activity中回传的是RESULT_OK
case Activity.RESULT_OK:
Log.d("request", "接收返回intent");
callbackContext.success(intent.getStringExtra("test"));
break;
default:
break;
}
}}
下面是启动的新activity
package com.archermind.wxt;@ContentView(R.layout.exam_paper_main_layout)
public class ExamPaper extends AbActivity implements OnClickListener{
private String test; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
ViewUtils.inject(this);
test=getIntent().getStringExtra("test"); }
/**
* 重写finish
*/
@Override
public void finish() {
// TODO Auto-generated method stub
Intent mIntent = new Intent();
mIntent.putExtra("test", test);
//设置结果,并进行传送
setResult(RESULT_OK, mIntent);
Log.d("request", RESULT_OK+"返回intent");
super.finish();
}
}
请问是什么原因,我网上查了下,有人说 phone gap里面 DroidGap 是extends Actvity的 我这边没有源码,
我觉得是这个里面 改了 什么 StartExamPaperPlugin.this.cordova 启动的和 我 intent.setClass(cordova.getActivity(), ExamPaper.class); 这个里面可以正常启动,我获取数据 显示到原生的TextView 都正常 就是这个avtivity里面的webview无法load数据,甚至Load一个正常的网页地址都不行,完全导致里面的webview 无法显示但是
但是 我 cordova.getActivity().startActivityForResult(intent, 1); 这个为什么会导致onActivityResult,可是里面的 webview 是正常显示的? 奇怪啊 求解