如何在单独的线程上运行服务时显示toast?

时间:2013-07-24 09:00:39

标签: android

当服务在单独的线程上运行时,有没有办法显示toast? 我使用下面的代码。

public void onStart(Intent intent, int startid){
    final String name = intent.getStringExtra("name");
    Log.d(TAG,"onStart()"); 
    new Thread(new Runnable() {


        public void run() {
            try
            {
                Toast.makeText(getApplicationContext(), "Ashish 1",Toast.LENGTH_LONG).show();

            }
            catch(Exception e)
            {
                Log.d(TAG,"Exception....."+e);
            }

        }
    }).start();
}

1 个答案:

答案 0 :(得分:2)

Toast消息只能在ui线程上显示。但是如果你想在另一个线程上使用,你可以像这样实现它。

yourActivityObject.runOnUiThread(new Runnable() {
    public void run()
    {
        Toast.makeText(yourContextObject, "some text",Toast.LENGTH_LONG).show();
    }
});