本帖最后由 panming0230 于 2021-2-25 17:55 编辑
在做热更新实验的时候,为什么调用 nativeAndroid.callExternalInterface 一直报空指针?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch);
btn_load = (Button) findViewById(R.id.btn_load);
btn_game = (Button) findViewById(R.id.btn_game);
btn_load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn_load.setEnabled(false);
btn_game.setEnabled(false);
preloadGame();
}
});
btn_game.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(com.monolith.tetris.LaunchActivity.this, MainActivity.class);
intent.putExtra("preloadPath", preloadPath);
startActivity(intent);
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
int check = checkSelfPermission(permissions[0]);
if (check != PackageManager.PERMISSION_GRANTED) {
requestPermissions(permissions, 111);
}
}
nativeAndroid= new EgretNativeAndroid(this);
// 空指针报错
nativeAndroid.callExternalInterface("sendToJS", "sendToJS");
}
报错信息:Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.egret.egretnativeandroid.c.a(java.lang.String, java.lang.String)' on a null object reference
at org.egret.egretnativeandroid.EgretNativeAndroid.callExternalInterface(EgretNativeAndroid.java:167)
at com.monolith.tetris.LaunchActivity.onCreate(LaunchActivity.java:72)
at android.app.Activity.performCreate(Activity.java:7009)
at android.app.Activity.performCreate(Activity.java:7000)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
|
|