java - 如何使主 Activity 线程影响第二个 Activity

标签 java android multithreading android-activity

我的 MainActivity 有一个 Thread 生成 RSA key 并返回生成它们所花费的时间(以毫秒为单位)。

当我运行此 Thread 时,应用会转到第二个 Activity

我需要第二个 Activity 来接收以毫秒为单位的时间。

据我了解,一旦调用 startActivity(),父级 Activity 就会进入 hibernate 状态。那么如何同时运行两者呢?

谢谢!

最佳答案

您可以使用 LocalBroadcastReceiver。

public class SecondActivity extends AppCompatActivity {

private BroadcastReceiver mRsaReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

        ArrayList<String> rsaList = intent.getStringArrayListExtra("rsaList");
    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
    LocalBroadcastManager.getInstance(this).registerReceiver(mRsaReceiver, new IntentFilter("RSA"));
}

@Override
protected void onDestroy() {
    super.onDestroy();
    LocalBroadcastManager.getInstance(this).unregisterReceiver(mRsaReceiver);
}

来自您的 rsa 线程

Intent rsaIntent = new Intent("RSA");
rsaIntent.putExtra("rsaList", rsaArrayList);
LocalBroadcastManager.getInstance(context).sendBroadcast(rsaIntent);

关于java - 如何使主 Activity 线程影响第二个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41965716/

相关文章:

java - 如何使用提交时间 checkout 文件

java - 安卓sqlite问题

android - fragment 中的单选按钮空指针执行

Android 默认线程及其使用

c# - 如果在阻塞集合类 (.NET) 中 Take 阻塞,线程是否还活着?

java - 如何在Java中检测USB驱动器

java - Java中的马尔可夫聚类算法

java - 在 netbeans 中清理和构建后从 dist 文件夹运行 jar 文件时不读取 xml 文件

android - 如何编辑图像,例如在图像上永久添加文本,该文本将成为android中该图像的一部分?

java - 如果当前线程有权限退出Java虚拟机