GitHubのGCM's project MainActivtyを見てください。とても簡単です&簡単です。
具体的には、あなたはcheckPlayServices()
がtrueの場合RegistrationIntentSerice
を呼び出す必要があります。..
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'は決して呼び出されません –