【发布时间】:2016-03-22 05:13:26
【问题描述】:
我正在为cordova android 开发插件。它打开一个自定义活动并将数据集返回给插件。
所有事情都在活动中运行良好。但是当活动完成时,它崩溃并给我这个错误:
Attempt to invoke virtual method 'void org.apache.cordova.CallbackContext.success(java.lang.String)' on a null object reference
E/AndroidRuntime( 2697): at android.app.ActivityThread.deliverResults(ActivityThread.java:3539)
E/AndroidRuntime( 2697): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3582)
E/AndroidRuntime( 2697): at android.app.ActivityThread.access$1300(ActivityThread.java:144)
E/AndroidRuntime( 2697): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1327)
E/AndroidRuntime( 2697): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 2697): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 2697): at android.app.ActivityThread.main(ActivityThread.java:5221)
E/AndroidRuntime( 2697): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 2697): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 2697): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
E/AndroidRuntime( 2697): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
E/AndroidRuntime( 2697): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CallbackContext.success(java.lang.String)' on a null object reference
E/AndroidRuntime( 2697): at com.faiz.faizOk.onActivityResult(faizOk.java:147)
E/AndroidRuntime( 2697): at org.apache.cordova.CordovaInterfaceImpl.onActivityResult(CordovaInterfaceImpl.java:151)
E/AndroidRuntime( 2697): at org.apache.cordova.CordovaActivity.onActivityResult(CordovaActivity.java:348)
E/AndroidRuntime( 2697): at android.app.Activity.dispatchActivityResult(Activity.java:6139)
E/AndroidRuntime( 2697): at android.app.ActivityThread.deliverResults(ActivityThread.java:3535)
E/AndroidRuntime( 2697):
... 10 more
这是我的 android onActivityResult 方法
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
System.out.println("finished native activity proceess...");
String message = " :finished activity from native: ";
callbackContext.success(message);
}
【问题讨论】:
-
可能是 callbackContext null
-
我尝试使用
this.callbackContext.success(message)也不起作用。同样的错误 -
callbackContext 代表什么?
-
它是cordova插件的
execute。public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException -
打印requestCode和data,你就会知道有没有value