I found some code to press home button from code
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
and This one :
moveTaskToBack(true);
I have a activity that is in single task
And a alertDialog with a button then you click on the button one of those code run and go to home
so when you go to app again the alert dismissed before
I want to relaunch the app without dismissing alertDialog
What can i do?
thanks
AlertDialog default button will dissmis dialog . you should create custom dialog with custom view
public class CustomDialog extends AlertDialog(){
TextView mTitleView,mDescriptionView;
Button mYesButton,mNoButton,mCancelButton;
boolean isYesButtonVisible = true;
boolean isNoButtonVisible = true;
boolean isCancelButtonVisible = true;
public CustomDialog(Context context){
super(context);
}
public void setYesButtonVisible(boolean isVisible){
isYesButtonVisible = isVisible
}
public void setNoButtonVisible(boolean isVisible){
isNoButtonVisible = isVisible
}
public void setCancelButtonVisible(boolean isVisible){
isCancelButtonVisible = isVisible
}
@override
public void show(){
super.show();
setContentView(R.layout.dialog_custom);
mTitleView = findViewById(R.id.text_title);
mDescriptionView = findViewById(R.id.text_description);
mYesButton = findViewById(R.id.btn_yes);
mNoButton = findViewById(R.id.btn_no);
mCancelButton = findViewById(R.id.btn_cancel);
isYesButtonVisible ? mYesButton.setVisibility(View.VISIBLE) : mYesButton.setVisibility(View.GONE);
isNoButtonVisible ? mNoButton.setVisibility(View.VISIBLE) : mNoButton.setVisibility(View.GONE);
isCancelButtonVisible ? mCancelButton.setVisibility(View.VISIBLE) : mCancleButton.setVisibility(View.GONE);
}
//must be called after dialog is showing else you will get NullPointerException
public void setOnYesClickListener(View.OnClickListener listener){
mYesButton.setonClickListener(listener);
}
public void setOnNoClickListener(View.OnClickListener listener){
mNoButton.setonClickListener(listener);
}
public void setOnCancelClickListener(View.OnClickListener listener){
mCancelButton.setonClickListener(listener);
}
}
and layout dialog_custom can be designed by yourself too but this is my layout file for custom dialog
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/text_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/text_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="16sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/btn_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp"
android:text="@string/yes"
android:textColor="@color/green_click"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/btn_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp"
android:text="@string/no"
android:textColor="@color/green_click"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@id/btn_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp"
android:text="@string/cancel"
android:textColor="@color/green_click"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>