android:暂停一个 Activity 直到另一个 Activity 完成

标签 android multithreading wait workflow-activity

当我的应用程序启动时,它会检查是否已存储登录凭据。如果没有,它会启动另一个 Activity 来提示用户输入这些凭据。我的问题是,当提示 Activity 启动时,第一个 Activity 继续执行并以空指针结束,因为提示 Activity 尚未返回所需的数据

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    tv = new TextView(this);
    setContentView(tv);

    promptForLoginInfo(); //method creates intent and starts activity

    displayCredentials(); //prints data to screen
}

输出显示为:“null”,因为程序在登录提示 Activity 返回之前执行了“displayCredentials()”。

有人知道该怎么做吗?

最佳答案

您的“promptForLoginInfo()”方法应该调用 startActivityForResult .您的“displayCredentials()”方法不应在 onCreate() 方法中调用,而应在 onActivityResult 中调用方法。

关于android:暂停一个 Activity 直到另一个 Activity 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819902/

相关文章:

android - cordova-plugin-inapppurchase 错误 : package com. android.vending.billing 不存在

android - 弹出 fragment 并再次替换为同一 fragment 时显示空白页面

java - Android中将json格式的数据转换/解析为java

Ruby 并发 : non-blocking I/O vs threads

java - 如何等到数据接收并完全处理后,再发送下一组数据请求?

当 Activity 在后台时,Android 服务无法连接到服务器

swift - 在 Swift 中,当两个线程获取并设置一个非线程安全属性时会发生什么?

ios - 我怎样才能回到我的主处理线程?

c - FindFirstChangeNotification 触发多次

javascript - WebSockets : Make javascript wait until server responds