Alex
Alex

Reputation: 41

Display dialog box after 5 seconds

I want to open Rate Dialog Box after 5 seconds in this Activity......What should be the source code and where should I apply?

public class Link extends AppCompatActivity 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setLogo(R.drawable.ic_launcher);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        setContentView(R.layout.link);

    }
}

And it is the rate dialog box

public class Rate extends Dialog{

    Button rate,bad,flag,lol,late;
    Activity c;

    public Rate(Context context, myOnClickListener myclick) {
        super(context);
        this.myListener = myclick;
    }
    public Rate(Activity activity)
    {
        super(activity);
        c = activity;
    }
    public myOnClickListener myListener;

    // This is my interface //
    public interface myOnClickListener {
        void onButtonClick();
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.rate);

        rate = (Button)findViewById(R.id.btnYes);
        bad = (Button)findViewById(R.id.ratebad);
        flag = (Button)findViewById(R.id.flags);
        lol =(Button)findViewById(R.id.lolli);
        late = (Button)findViewById(R.id.later);

        rate.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent i = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=com.aio.amar.tricks"));
                c.startActivity(i);
            }
        });

        bad.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent a = new Intent("android.intent.action.SEND");
                a.setType("text/html");
                a.putExtra("android.intent.extra.EMAIL", new String[] {c.getString(R.string.mail_feedback_emai)});
                a.putExtra("android.intent.extra.SUBJECT", c.getString(R.string.mail_feedback_subjec));
                a.putExtra("android.intent.extra.TEXT", c.getString(R.string.mail_feedback_messag));
                c.startActivity(Intent.createChooser(a, c.getString(R.string.title_send_feedbac)));
            }
        });

        flag.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent b = new Intent("android.intent.action.SEND");
                b.setType("text/html");
                b.putExtra("android.intent.extra.EMAIL", new String[] {c.getString(R.string.


mail_feedback_email)});
                b.putExtra("android.intent.extra.SUBJECT", c.getString(R.string.mail_feedback_subject));
                b.putExtra("android.intent.extra.TEXT", c.getString(R.string.mail_feedback_message));
                c.startActivity(Intent.createChooser(b, c.getString(R.string.title_send_feedback)));

            }
        });
        lol.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent i = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=com.dfc.aef"));
                c.startActivity(i);

            }
        });

        late.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                dismiss();
            }
        });

    }

}

Upvotes: 0

Views: 96

Answers (2)

Mehmet K
Mehmet K

Reputation: 2814

Put a handler like this to end of your onResume() method

Handler handler = new Handler();
Runnable r = new Runnable() {
    @Override
    public void run() {
        // Start Rate Dialog Box            
    }
};
handler.postDelayed(r, 5000); //5000 ms = 5 seconds

Upvotes: 0

allo86
allo86

Reputation: 1016

To run code after some delay, you can use a Handler

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    // put some code
    // it will run after 5000 milliseconds
  }
}, 5000);

Put it in your onCreate method

Upvotes: 1

Related Questions