还有一个类似的问题。我的代码不同,但原因可能是相同的。我认为我的代码更简单,可能有助于找到罪魁祸首。首先,偶尔发生的崩溃(即代码大部分时间都工作正常):
Class: java.lang.NullPointerException
Stack trace: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.dispatchCancelPendingInputEvents()' on a null object reference
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4499)
at android.view.View.cancelPendingInputEvents(View.java:18456)
at android.app.Activity.cancelInputsAndStartExitTransition(Activity.java:4657)
at android.app.Activity.startActivityForResult(Activity.java:4636)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:753)
at androidx.core.app.ActivityCompat$Api16Impl.b(ActivityCompat.java:0)
at androidx.core.app.ActivityCompat.k(ActivityCompat.java:0)
at androidx.activity.ComponentActivity$2.onLaunch(ComponentActivity.java:258)
at androidx.activity.result.ActivityResultRegistry$2.launch(ActivityResultRegistry.java:175)
at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
Run Code Online (Sandbox Code Playgroud)
偶尔导致崩溃的代码:
Intent intent = new Intent(this, FooActivity.class);
intent.putExtra("mode", "manage");
intent.putExtra("pro", true);
launcherFooActivity.launch(intent);
Run Code Online (Sandbox Code Playgroud)
以下是launcherFooActivity:
final ActivityResultLauncher<Intent> launcherFooActivity = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
try {
...
} catch (Exception ex) {
...
}
});
Run Code Online (Sandbox Code Playgroud)
有人能解释一下这次事故的可能原因吗?
| 归档时间: |
|
| 查看次数: |
674 次 |
| 最近记录: |