0
我已经实现了类RegistrationIntentService
,它扩展了IntentService
并获得onHandleIntent
中的设备令牌。使用GCM推送通知 - 何时启动IntentService?
我的问题是,我应该什么时候开始这项服务?如果我在应用启动时通过MainActivity
开始,则不会调用onHandleIntent。什么时候什么时候开始意图的正确方式?
我已经实现了类RegistrationIntentService
,它扩展了IntentService
并获得onHandleIntent
中的设备令牌。使用GCM推送通知 - 何时启动IntentService?
我的问题是,我应该什么时候开始这项服务?如果我在应用启动时通过MainActivity
开始,则不会调用onHandleIntent。什么时候什么时候开始意图的正确方式?
看看GitHub上的GCM's project MainActivty,很简单&简单。
具体而言,需要调用RegistrationIntentSerice
如果checkPlayServices()
是真的..
private boolean checkPlayServices() {
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
int resultCode = apiAvailability.isGooglePlayServicesAvailable(this);
if (resultCode != ConnectionResult.SUCCESS) {
if (apiAvailability.isUserResolvableError(resultCode)) {
apiAvailability.getErrorDialog(this, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST)
.show();
} else {
Log.i(TAG, "This device is not supported.");
finish();
}
return false;
}
return true;
}
声明checkPlayServices()
方法后,您需要检查它是否是真实和运行服务:
if (checkPlayServices()) {
// Start IntentService to register this application with GCM.
Intent intent = new Intent(this, RegistrationIntentService.class);
startService(intent);
}
我的实现并没有太大的不同。我从'MainActivity'调用'startService(intent)',但是'onHandleIntent'永远不会被调用 –