Ich erstelle eine App, die Audio analysiert. Wenn der Benutzer die Aktivität, in der er den Ton analysiert, verlässt, möchte ich einen Dialog erstellen, um zu fragen, ob der Benutzer den Test fortsetzen möchte oder nicht. Ich benutze einen Hinweis zum Verlassen des Benutzers, aber es wird immer aufgerufen, wenn ich die Aktivität auch von der Hauptseite aus eingebe. Wie kann ich das beheben? Momentan mache ich nur einen Toast, wenn die Knöpfe angeklickt werden.onUserLeaveHint wird bei der Eingabe der Aktivität aufgerufen
@Override
protected void onUserLeaveHint() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Continue running test?");
AlertDialog dialog = builder.create();
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int duration = Toast.LENGTH_LONG;
Toast play = Toast.makeText(RecordAudio.this, "Continuing test", duration);
play.show();
finish();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int duration2 = Toast.LENGTH_SHORT;
Toast stop = Toast.makeText(RecordAudio.this, "Ending test", duration2);
stop.show();
finish();
}
});
builder.show();
}