我有一个应用程序,它又可以调用另一个应用程序。在第二个应用程序中,用户可以执行一些操作,然后将数据返回到我的主应用程序。一切正常,直到用户进入第二个应用程序并且没有执行预期的流程,而是按下后退按钮。
这将在我的主应用程序的 OnActivityResult 方法中引发空指针异常,因为当然没有数据。
你如何处理这样的事情?此外,我无权访问第二个应用程序代码,因此我的应用程序只是调用第三方软件。
我有一个应用程序,它又可以调用另一个应用程序。在第二个应用程序中,用户可以执行一些操作,然后将数据返回到我的主应用程序。一切正常,直到用户进入第二个应用程序并且没有执行预期的流程,而是按下后退按钮。
这将在我的主应用程序的 OnActivityResult 方法中引发空指针异常,因为当然没有数据。
你如何处理这样的事情?此外,我无权访问第二个应用程序代码,因此我的应用程序只是调用第三方软件。
我会检查有问题的变量是否为空,如果它不尝试访问它。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data != null) {
List<String> words = data.getStringArrayListExtra("words");
if(words != null) {
// Do something
}
}
}
如果这不是一个选项,您最好通过发布相关代码的示例来提供一些上下文,因为我只能猜测当前的情况。