Qual plataforma?
Existem muitas formas de você fazer isso, uma delas é criar uma Thread do Time para que quando atinja um tempo limite algo aconteça:
int tempo = 1; // inicio
int periodo = (1000 * 60); // tempo maximo
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
// redirecionar para a classe que você quer
}
}, tempo, periodo);
@Ofidomundo
eu tentei esse código que você postou mas não deu certo, quando volto para a primeira tela a função fica aparecendo mesmo eu dando finish () na tela que está o código .
JÁ tentei com Hander e acontece a mesma coisa, o que eu devo usar para quando eu sair da Activity que está o Handler ele não executar a função. Ou um if ( !se apertar finish () ou !se sair dessa activity () )
Eexecutar o código
TEM COMO FAZER ISSO?
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(getBaseContext(), VOCEPERDEU.class));
finish();
}
} ,60000);
Alguém sabe como resolver ?
Quero saber como colocar tempo máximo de 1 minuto para responder cada pergunta. Se não responder nesse tempo aparecer uma nova Activity dizendo que “você perdeu”. Se responder certo, ir para outra Activity com outra pergunta. E nessa pergunta tenha tempo máximo para responder de um minuto também é assim por diante.
@Ofidomundo
Eu coloquei esse timer.finish ();
No Buttao mas não deu certo , tem certeza que é assim?
@RafaelV.B
desculpe, pequena memoria horrivel
timer.cancel();
Lembrando que esse Timer é o mesmo que você instanciou aqui
@Ofidomundo
Ainda esta dando erro
:53: error:cannot find symbol
timer.cancel();
^
symbol: method cancel()
O meu funcionou!
Fui verificar uma aplicação na qual uso isso e foi…
Você esta dando cancel no time que você instanciou mesmo?
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// fazer o que quiser
}
}, 0, periodo);
tenho outra aplicação que esta assim
no fim como está o seu código?
@Ofidomundo
private View view;
Handler timer;
timer = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setView(getLayoutInflater().inflate(R.layout.salaum, null));
setContentView( getView() );
timer = new Handler();
timer.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(getBaseContext(), VocePerdeu.class));
finish();
}
} ,60000);
}
public void onBackPressed()
{
Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("");
builder.setMessage(“Deseja realmente voltar? Se voltar o progresso do jogo será perdido.”);
builder.setPositiveButton(“Sim”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
timer.cancel();
finish();
return;
}
});
builder.setNegativeButton(“Não”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
Você sabe aonde estou errando?
usa a classe timer não o handle, deve ser isso
@Ofidomundo
É quase isso mas tá aparecendo esse erro
:39: error:local variable timer is accessed from within inner class; needs to be declared final
timer.cancel();
^
Como assim eu não entendi?
final Timer timer = new Timer();
@Ofidomundo
O erro ainda persiste
@Ofidomundo
Deu certo .
Obrigado pela sua atenção.
1 curtida