ユーザーが画像を押すのを待っているアクティビティがあります。ユーザーが 3 秒以内に何も押さない場合、アクティビティを閉じます (finish())。それは私のコードです:
private final int delay = 3000;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.after_hangup);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
final ImageView pressToLaunchbrowser = (ImageView) findViewById(R.id.after_hang_up_image);
pressToLaunchbrowser.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); // if we want to open the device.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
Thread.interrupted();
}
});
new Thread() {
public void run() {
try {
Thread.sleep(delay);
finish();
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
}}
私の質問は、プレスが行われた場合、どうすればスレッドを起こすことができますか? 私は試しThread.interrupted();
ましたが、うまくいきません。押すかどうかにかかわらず、スレッドはまだ3秒間待機します。ありがとう!