Android GCM Intent Service - 如何获取Application类

时间:2013-01-31 18:40:42

标签: android google-cloud-messaging

我有一个自我实现的Application类。

我正在尝试从我的应用程序GCMIntentService获取对它的引用。

从某种原因它返回null:

public class GCMIntentService extends GCMBaseIntentService {

    private AppVariables app;
    private GCMMessageReceiver gcmMessageReceiver;

    public GCMIntentService()
    {
        super(GCMManager.SENDER_ID);
        this.app = (AppVariables) getApplication();
        this.gcmMessageReceiver = new GCMMessageReceiver(app);
    }          
}

1 个答案:

答案 0 :(得分:0)

您可以使用onRegistered()方法执行此操作。

    @Override
    public void onRegistered(Context context, String registration) {
         this.app = (AppVariables) context;
         DeviceRegistrar.registerWithServer(context, registration);
    }

因为我们无法更改构造函数GCMIntentService()以传递上下文以供使用。