android:如何在Activity启动后自动运行一些东西

时间:2011-11-23 20:55:17

标签: android timer

我的想法是在活动开始后,会自动点击一个按钮。同时,弹出一个对话框,询问你是否要打断。 我该如何实现呢?


更新: 我想要的是远程控制我的手机。通过adb am启动应用程序,所以我希望自动调用一些OnclickListener。此外,在UI中,它提供了一个中断此自动化的选项。 我希望主要活动开始,然后是Thread.sleep(5000)。弹出一个对话框,询问您是否要自动化。如果我在睡眠结束前给出答案,它将不会进入自动化状态。

非常感谢你!

1 个答案:

答案 0 :(得分:1)

onCreate中,只需调用onClick处理程序并将您的按钮作为参数。在内部启动AsyncTask以在后台执行冗长的操作。然后只需为用户显示AlertDialog

@Override public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test);

    Button launch = (Button) findViewById(R.id.launch);
    launch.setOnClickListener(this);

    onClick(launch); // Magic.
    showDialog(); // Show the interrupt dialog
}

@Override public void onClick(View v)
{
    Toast.makeText(this, "Wohoo!", Toast.LENGTH_SHORT).show();
    // Actually, launch an AsyncTask here.
}

private void showDialog()
{
    AlertDialog.Builder dlg = new AlertDialog.Builder(this);
    dlg.setTitle("Interrupt?");
    dlg.setMessage("Do you want to interrupt loading?");

    dlg.setPositiveButton("Yes", new DialogInterface.OnClickListener()
    {
        public void onClick(DialogInterface dlg, int item)
        {
            Toast.makeText(getApplicationContext(), "Yes!!!", Toast.LENGTH_SHORT).show();
        }
    });

    dlg.setNegativeButton("No", new DialogInterface.OnClickListener()
    {
        public void onClick(DialogInterface dlg, int item)
        {
            Toast.makeText(getApplicationContext(), "Noooo...", Toast.LENGTH_SHORT).show();
        }
    });

    dlg.show();
}