我的 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/