1

我知道我可以在服务的 onCreate() 方法中使用它来获取服务上下文。在我的服务中,我使用计时器来做某事。当某事完成时,我想举杯祝酒。但是,我无法在我的计时器中访问服务上下文来制作 toast。我可以在 onCreate() 方法中使用 this 访问上下文

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

4

2 回答 2

1

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

如何从 Android 服务获取应用程序上下文?

android从服务开始活动

希望这可以帮助。

于 2013-04-18T12:20:18.657 回答
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();

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

...
<application
     android:icon="@drawable/ic_launcher"
     android:label="@string/application_name"
     android:name="MyApp">
...
于 2013-04-18T12:07:01.807 回答