我可以在 android 中显示来自 none-UI 服务的 Toast 吗?

Can I show Toast from none-UI Service in android?

我有一个在后台运行的服务。

How can I show Toast text message from Service that does not have UI?

没有Activity,这是none-UI服务。

可能吗?

在你的后台线程中试试这个。

new Handler(Looper.getMainLooper()).post(new Runnable() {
       @Override
       public void run() {
             Toast.makeText(context, "Running background", Toast.LENGTH_SHORT).show();
            }
        });

你当然可以做到。一个服务就是一个上下文。所以你可以打电话给

Toast.makeText(this, "My Information", Toast.LENGTH_SHORT).show();

我一直在使用应用程序 class 实例从虚拟 classes 中展示它,基本上这意味着您可以在应用程序中的任何地方展示它(包括服务)。

public class DemosApplication extends Application {

    private static DemosApplication instance;
    private Toast toast;

    public static DemosApplication getInstance() {
        return instance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        if (instance == null) {
            instance = this;
        }
    }

    public void showToast(int resID) {
        showToast(getString(resID));
    }

    public void showToast(String text) {
        if (toast != null) {
            toast.cancel();
        }

        toast = Toast.makeText(this, text, Toast.LENGTH_SHORT);
        toast.show();
    }
}

随时随地使用

DemosApplication.getInstance().showToast("Lalalala");