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

标签 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();
}

最佳答案

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

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

关于android - 当服务在单独的线程上运行时如何显示 toast ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17829492/

相关文章:

android - 如何在没有gps的情况下在android中获取当前的纬度和经度

android - Textview多下划线文本在android中动态点击

android - 通过 XML 将选项卡添加到操作栏

android - 如何绘制平滑的位图路径,没有任何中断

android - 以编程方式更改动画的开始位置

android - 在android中使用矢量资源作为应用程序图标

java - 从Android联系人列表中获取用户信息

java - 使用接口(interface)通过两个 Activity 传递数据

android - Android-如何在语音识别事件中关闭声音?

java - Firebase 实时数据库隐私最佳实践