在计时器中获取服务上下文,以便我可以使用Toast

时间:2013-04-18 11:25:48

标签: android service toast

我知道我可以在服务的onCreate()方法中使用它来获取服务上下文。 在我的服务中,我正在使用计时器来做某事。当事情发生时,我想做一个祝酒词。但是,我无法访问计时器中的服务上下文以生成吐司。 我可以在onCreate()方法中使用它来访问上下文

如何将上下文(因此我可以用它来创建一个toast)传递给服务中运行的计时器 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

以下是提供类似问题答案的问题:

How can I get the application context from an Android Service?

android start activity from service

希望这会有所帮助。

答案 1 :(得分:0)

创建从Application类扩展的自定义应用程序类。然后在onCreate init上下文成员中使用自己的MyApp实例。现在,您可以随时随地获取上下文:

public class MyApp extends Application {
    private static MyApp mContext;

    @Override 
    public void onCreate() {
        mContext= this;
        super.onCreate();
    }

    public static MyApp getContext() {
        return mContext;
    }
}

然后,您可以通过调用MyApp.getContext();

来获取上下文

不要忘记在清单中添加属性名称= MyApp:

...
<application
     android:icon="@drawable/ic_launcher"
     android:label="@string/application_name"
     android:name="MyApp">
...