我想运行2个方法,但不是在同一时间。然而,我试图既wait
和Thread.sleep()
,但它不会延迟方法2这是一种Intent
如何正确推迟方法?
public void run() {
checkInternetConnection();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
Intent intent = new Intent(this, Forside.class);
startActivity(intent);
finish();
}
private void checkInternetConnection() {
if (br == null) {
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
NetworkInfo info = (NetworkInfo) extras
.getParcelable("networkInfo");
NetworkInfo.State state = info.getState();
Log.d("TEST Internet", info.toString() + " "
+ state.toString());
if(state == NetworkInfo.State.DISCONNECTED) {
AlertDialog alert = new AlertDialog.Builder(context)
.setMessage("Fejl, der er ingen internet forbindelse. Venligst forbind til et netværk")
.setNeutralButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
launchsettings();
}
}
).show();
}
}
};
final IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver((BroadcastReceiver) br, intentFilter);
}
}
private void launchsettings() {
startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);
}
@Override
protected void onPause() {
this.unregisterReceiver(this.bur);
super.onPause();
}
这两种方法在同一时间启动,或者2.方法1
后直接开始
你真的想要一个修复睡眠时间吗?这绝对不是同步代码的最佳方式。 –
休息一下,看看这个恐怖或一天后。然后就像你自己一样:“为什么我会想到延迟一两种方法呢?导致问题的真正原因是什么?”然后从那里出发。推迟事情并不适合处理任务并发问题。 –