Java 类com.google.android.gms.gcm.GoogleCloudMessaging 实例源码
项目:PeSanKita-android
文件:GcmBroadcastReceiver.java
@Override
public void onReceive(Context context, Intent intent) {
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context);
String messageType = gcm.getMessageType(intent);
if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
Log.w(TAG, "GCM message...");
if (!TextSecurePreferences.isPushRegistered(context)) {
Log.w(TAG, "Not push registered!");
return;
}
String messageData = intent.getStringExtra("message");
String receiptData = intent.getStringExtra("receipt");
if (!TextUtils.isEmpty(messageData)) handleReceivedMessage(context, messageData);
else if (!TextUtils.isEmpty(receiptData)) handleReceivedMessage(context, receiptData);
else if (intent.hasExtra("notification")) handleReceivedNotification(context);
}
}
项目:PeSanKita-android
文件:AdvancedPreferenceFragment.java
@Override
protected Integer doInBackground(Void... params) {
try {
Context context = getActivity();
SignalServiceAccountManager accountManager = AccountManagerFactory.createManager(context);
try {
accountManager.setGcmId(Optional.<String>absent());
} catch (AuthorizationFailedException e) {
Log.w(TAG, e);
}
if (!TextSecurePreferences.isGcmDisabled(context)) {
GoogleCloudMessaging.getInstance(context).unregister();
}
return SUCCESS;
} catch (IOException ioe) {
Log.w(TAG, ioe);
return NETWORK_ERROR;
}
}
项目:PeSanKita-android
文件:GcmRefreshJob.java
@Override
public void onRun() throws Exception {
if (TextSecurePreferences.isGcmDisabled(context)) return;
Log.w(TAG, "Reregistering GCM...");
int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(context);
if (result != ConnectionResult.SUCCESS) {
notifyGcmFailure();
} else {
String gcmId = GoogleCloudMessaging.getInstance(context).register(REGISTRATION_ID);
textSecureAccountManager.setGcmId(Optional.of(gcmId));
TextSecurePreferences.setGcmRegistrationId(context, gcmId);
TextSecurePreferences.setWebsocketRegistered(context, true);
}
}
项目:twilio-voice-phonegap-plugin
文件:GCMRegistrationService.java
@Override
protected void onHandleIntent(Intent intent) {
Log.d(TAG,"GCMRegistrationService: onHandleIntent()");
try {
InstanceID instanceID = InstanceID.getInstance(this);
int gcmSenderIDIdentifier = getResources().getIdentifier("gcm_sender_id", "string", getPackageName());
String gcmSenderId = getString(gcmSenderIDIdentifier);
Log.d(TAG, "GCM Sender ID: " + gcmSenderId);
String token = instanceID.getToken(gcmSenderId,
GoogleCloudMessaging.INSTANCE_ID_SCOPE,
null);
Log.d(TAG, "Retrieved GCM Token: " + token);
sendGCMTokenToActivity(token);
} catch (Exception e) {
/*
* If we are unable to retrieve the GCM token we notify the Plugin
* letting the user know this step failed.
*/
Log.e(TAG, "Failed to retrieve GCM token", e);
sendGCMTokenToActivity(null);
}
}
项目:CryptoVoice
文件:GcmIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
if (!extras.isEmpty() && GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
Log.w("GCM", extras.toString());
Intent i = new Intent(this, Main.class);// change the context and activity name.
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED +
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD +
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON +
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
this.startActivity(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Intent incoming = new Intent("INCOMING");
incoming.putExtra("number", extras.getString("message"));
sendBroadcast(incoming);
}
GcmBroadcastReceiver.completeWakefulIntent(intent);
}
项目:GarageDoor
文件:GarageDoorIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
// Play a click sound and vibrate quickly
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
AudioManager audioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
audioManager.playSoundEffect(SoundEffectConstants.CLICK, 1.0f);
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(VIBRATOR_PULSE);
try {
Bundle data = new Bundle();
data.putString("user",
sharedPreferences.getString(GarageDoorWidgetProvider.PREF_USERNAME, ""));
data.putString("password",
sharedPreferences.getString(GarageDoorWidgetProvider.PREF_PASSWORD, ""));
data.putString("timestamp", String.valueOf(System.currentTimeMillis() / 1000));
String id = Integer.toString(getNextMsgId());
gcm.send(GarageDoorWidgetProvider.GCM_SENDER_ID + "@gcm.googleapis.com",
id, TIME_TO_LIVE, data);
} catch (IOException e) {
Log.e(TAG, "Error sending message", e);
}
}
项目:GarageDoor
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
try {
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(GarageDoorWidgetProvider.GCM_SENDER_ID,
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Log.i(TAG, "GCM Registration Token: " + token);
sendRegistrationToServer(token);
// You should store a boolean that indicates whether the generated token has been
// sent to your server. If the boolean is false, send the token to your server,
// otherwise your server should have already received the token.
sharedPreferences.edit().putBoolean(GarageDoorWidgetProvider.PREF_SENT_TOKEN_TO_SERVER, true).apply();
} catch (Exception e) {
Log.d(TAG, "Failed to complete token refresh", e);
// If an exception happens while fetching the new token or updating our registration data
// on a third-party server, this ensures that we'll attempt the update at a later time.
sharedPreferences.edit().putBoolean(GarageDoorWidgetProvider.PREF_SENT_TOKEN_TO_SERVER, false).apply();
}
// Notify UI that registration has completed, so the progress indicator can be hidden.
Intent registrationComplete = new Intent(GarageDoorWidgetProvider.PREF_REGISTRATION_COMPLETE);
LocalBroadcastManager.getInstance(this).sendBroadcast(registrationComplete);
}
项目:Android_watch_magpie
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
try {
synchronized (TAG) {
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Log.i(TAG, "GCM Registration Token: " + token);
sharedPreferences.edit().putString(Preferences.TOKEN, token).apply();
}
} catch (Exception e) {
Log.d(TAG, "Failed to complete token refresh", e);
//sharedPreferences.edit().putBoolean(Preferences.SENT_TOKEN_TO_SERVER, false).apply();
}
// Notify UI that registration has completed, so the progress indicator can be hidden.
Intent registrationComplete = new Intent(Preferences.REGISTRATION_COMPLETE);
LocalBroadcastManager.getInstance(this).sendBroadcast(registrationComplete);
}
项目:stitch-android-sdk
文件:GCMPushClient.java
/**
* Deletes the current registration token.
*
* @param instanceId The instance ID which generated the registration token.
* @param senderId The sender ID to revoke the registration token from.
* @return A task that can be resolved upon deletion of the token.
*/
private Task<Void> deleteRegistrationToken(final InstanceID instanceId, final String senderId) {
final TaskCompletionSource<Void> future = new TaskCompletionSource<>();
new AsyncTask<Object, Integer, String>() {
@Override
protected String doInBackground(final Object[] ignored) {
try {
instanceId.deleteToken(senderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE);
} catch (final IOException e) {
Log.e(TAG, "Error deleting GCM registration token", e);
future.setException(e);
return null;
}
future.setResult(null);
return null;
}
}.execute();
return future.getTask();
}
项目:stitch-android-sdk
文件:GCMPushClient.java
/**
* Gets or creates a registration token.
*
* @param instanceId The instance ID which should generate the registration token.
* @param senderId The sender ID to generate the registration token for.
* @return A task that can be resolved upon creating/retrieval of the token.
*/
private Task<String> getRegistrationToken(final InstanceID instanceId, final String senderId) {
final TaskCompletionSource<String> future = new TaskCompletionSource<>();
new AsyncTask<Object, Integer, String>() {
@Override
protected String doInBackground(final Object[] ignored) {
final String registrationToken;
try {
registrationToken = instanceId.getToken(senderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE);
} catch (final IOException e) {
Log.e(TAG, "Error getting GCM registration token", e);
future.setException(e);
return null;
}
future.setResult(registrationToken);
return null;
}
}.execute();
return future.getTask();
}
项目:financisto1-holo
文件:GCMIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
if (!extras.isEmpty()) {
if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
if (FlowzrSyncEngine.isRunning) {
Log.i(TAG,"sync already in progess");
return;
}
Log.i(TAG,"starting sync from GCM");
new FlowzrSyncTask(getApplicationContext()).execute();
}
}
}
项目:android-gcm-client-demo
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
String deviceId = intent.getStringExtra("DEVICE_ID");
String deviceName = intent.getStringExtra("DEVICE_NAME");
try {
InstanceID instanceID = InstanceID.getInstance(this);
String registrationId = instanceID.getToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
registerDeviceProcess(deviceName,deviceId,registrationId);
} catch (IOException e) {
e.printStackTrace();
}
}
项目:GYAppAnd
文件:PushNotificationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
Log.w("PushIntentSerivce", extras.toString());
if (!extras.isEmpty()) {
String from = extras.getString("from");
if (!from.equals("google.com/iid") && GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
createNotification(extras);
}
}
PushNotificationBroadcastReceiver.completeWakefulIntent(intent);
}
项目:Android-SDK
文件:InteractionRegistration.java
@Override
public void interaction() {
gcm = GoogleCloudMessaging.getInstance(context);
if(operationStatus() != StaticFields.STATUS_OK)
{
mJobSheduler = new MJobSheduler(this);
timer = new Timer(true);
timer.schedule(mJobSheduler, 1000, 1000);
}
else
{
if (nextChain != null)
{
nextChain.setSocket(tcpChannel,nextChain.msgHandler);
nextChain.getDataObject().setPushToken(FileUtil.getPushToken(context));
nextChain.interaction();
}
}
}
项目:Asynchronous-Android-Programming
文件:MyBackupService.java
@Override
public int onRunTask(TaskParams taskParams) {
Log.i(TAG, "Backing up the account settings");
final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Bundle data = new Bundle();
data.putString(FIRST_NAME, sharedPreferences.getString(FIRST_NAME,""));
data.putString(LAST_NAME, sharedPreferences.getString(LAST_NAME,""));
data.putString(AGE, sharedPreferences.getString(AGE,""));
data.putString("resource", RESOURCE);
data.putString("operation", sharedPreferences.getString(OPERATION,""));
String id = Integer.toString(new Random().nextInt());
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(MyBackupService.this);
try {
gcm.send(getString(R.string.gcm_SenderId) + "@gcm.googleapis.com", id, data);
} catch (IOException e) {
Log.e(TAG, "Failed to backup account");
return GcmNetworkManager.RESULT_RESCHEDULE;
}
return GcmNetworkManager.RESULT_SUCCESS;
}
项目:gcm-android
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
// Preferences to get registration id from device
SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String mNextId = mSharedPreferences.getString(REGISTRATION_ID_PREFERENCE, null);
try {
InstanceID mInstanceID = InstanceID.getInstance(this);
String mToken = mInstanceID.getToken(getString(R.string.gcm_default_sender_id),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
executeBusinessRule(mToken);
if(mNextId!=null && mNextId!=mToken) {
mSharedPreferences.edit().putString(REGISTRATION_ID_PREFERENCE, mToken).apply();
mNextId = mToken;
}
} catch (Exception e) {
Log.d(REGISTRATION_DEBUG, "Failed to refresh current token: " + e.getMessage());
}
// Complete process
if(mNextId!=null) {
Intent mRegisterIntent = new Intent(REGISTRATION_COMPLETE);
LocalBroadcastManager.getInstance(this).sendBroadcast(mRegisterIntent);
}
}
项目:PushEZ
文件:GcmIntentService.java
/**
* Subscribe to a topic
*/
public void subscribeToTopic(String topic) {
GcmPubSub pubSub = GcmPubSub.getInstance(getApplicationContext());
InstanceID instanceID = InstanceID.getInstance(getApplicationContext());
String token = null;
String gcm_server_sender_id = SharedPref.getSenderId(GcmIntentService.this);
try {
token = instanceID.getToken(gcm_server_sender_id,
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
if (token != null) {
pubSub.subscribe(token, "/topics/" + topic, null);
Log.d(TAG, "Subscribed to topic: " + topic);
} else {
Log.d(TAG, "error: gcm registration id is null");
}
} catch (IOException e) {
Log.e(TAG, "Topic subscribe error. Topic: " + topic + ", error: " + e.getMessage());
Toast.makeText(getApplicationContext(), "Topic subscribe error. Topic: " + topic + ", error: " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
项目:librus-client
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
boolean register = intent.getBooleanExtra(LibrusConstants.REGISTER, false);
try {
if (register) {
String token = InstanceID.getInstance(this)
.getToken(APP_ID, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
LibrusUtils.log("Retrieved GCM token " + token);
new APIClient(this).pushDevices(token)
.subscribe(() -> {
}, LibrusUtils::handleError);
} else {
InstanceID.getInstance(this)
.deleteToken(APP_ID, GoogleCloudMessaging.INSTANCE_ID_SCOPE);
LibrusUtils.log("Unregistered GCM");
}
} catch (IOException e) {
LibrusUtils.logError("Failed to register GCM");
FirebaseCrash.report(e);
e.printStackTrace();
}
}
项目:Popdeem-SDK-Android
文件:GCMIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
PDLog.d(GCMIntentService.class, "onHandleIntent");
if (intent == null) {
return;
}
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
Bundle extras = intent.getExtras();
if (!extras.isEmpty() && messageType.equalsIgnoreCase(GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE)) {
handleMessage(intent);
}
GCMBroadcastReceiver.completeWakefulIntent(intent);
}
项目:VKAudioSave
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
try {
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Log.i(TAG, "GCM Registration Token: " + token);
subscribeTopics(token);
sharedPreferences.edit().putString(QuickstartPreferences.TOKEN, token).apply();
sharedPreferences.edit().putBoolean(ml.hepolise.vkaudiosave.QuickstartPreferences.SENT_TOKEN_TO_SERVER, true).apply();
} catch (Exception e) {
Log.d(TAG, "Failed to complete token refresh", e);
sharedPreferences.edit().putBoolean(ml.hepolise.vkaudiosave.QuickstartPreferences.SENT_TOKEN_TO_SERVER, false).apply();
}
Intent registrationComplete = new Intent(ml.hepolise.vkaudiosave.QuickstartPreferences.REGISTRATION_COMPLETE);
LocalBroadcastManager.getInstance(this).sendBroadcast(registrationComplete);
}
项目:android-oss
文件:UnregisterService.java
@Override
protected void onHandleIntent(final @NonNull Intent intent) {
Timber.d("onHandleIntent");
try {
final InstanceID instanceID = InstanceID.getInstance(this);
instanceID.deleteToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE);
Timber.d("Deleted token");
} catch (final Exception e) {
Timber.e("Failed to delete token: %s", e);
}
}
项目:android-oss
文件:RegisterService.java
@Override
protected void onHandleIntent(final @Nullable Intent intent) {
Timber.d("onHandleIntent");
try {
// This initially hits the network to retrieve the token, subsequent calls are local
final InstanceID instanceID = InstanceID.getInstance(this);
// R.string.gcm_defaultSenderId is derived from google-services.json
final String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Timber.d("Token: %s", token);
sendTokenToApi(token);
subscribeToGlobalTopic(token);
} catch (final Exception e) {
Timber.e("Failed to complete token refresh: %s", e);
}
}
项目:TextSecure
文件:ApplicationPreferencesActivity.java
@Override
protected Integer doInBackground(Void... params) {
try {
Context context = getActivity();
TextSecureAccountManager accountManager = TextSecureCommunicationFactory.createManager(context);
accountManager.setGcmId(Optional.<String>absent());
GoogleCloudMessaging.getInstance(context).unregister();
return SUCCESS;
} catch (AuthorizationFailedException afe) {
Log.w(TAG, afe);
return SUCCESS;
} catch (IOException ioe) {
Log.w(TAG, ioe);
return NETWORK_ERROR;
}
}
项目:TextSecure
文件:RegistrationService.java
private void handleCommonRegistration(MasterSecret masterSecret, TextSecureAccountManager accountManager, String number)
throws IOException
{
setState(new RegistrationState(RegistrationState.STATE_GENERATING_KEYS, number));
IdentityKeyPair identityKey = IdentityKeyUtil.getIdentityKeyPair(this, masterSecret);
List<PreKeyRecord> records = PreKeyUtil.generatePreKeys(this, masterSecret);
PreKeyRecord lastResort = PreKeyUtil.generateLastResortKey(this, masterSecret);
SignedPreKeyRecord signedPreKey = PreKeyUtil.generateSignedPreKey(this, masterSecret, identityKey);
accountManager.setPreKeys(identityKey.getPublicKey(),lastResort, signedPreKey, records);
setState(new RegistrationState(RegistrationState.STATE_GCM_REGISTERING, number));
String gcmRegistrationId = GoogleCloudMessaging.getInstance(this).register(GcmRefreshJob.REGISTRATION_ID);
TextSecurePreferences.setGcmRegistrationId(this, gcmRegistrationId);
accountManager.setGcmId(Optional.of(gcmRegistrationId));
DirectoryHelper.refreshDirectory(this, accountManager, number);
DirectoryRefreshListener.schedule(this);
}
项目:TextSecure
文件:GcmRefreshJob.java
@Override
public void onRun() throws Exception {
TextSecureAccountManager accountManager = TextSecureCommunicationFactory.createManager(context);
String registrationId = TextSecurePreferences.getGcmRegistrationId(context);
if (registrationId == null) {
Log.w(TAG, "GCM registrationId expired, reregistering...");
int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(context);
if (result != ConnectionResult.SUCCESS) {
notifyGcmFailure();
} else {
String gcmId = GoogleCloudMessaging.getInstance(context).register(REGISTRATION_ID);
accountManager.setGcmId(Optional.of(gcmId));
TextSecurePreferences.setGcmRegistrationId(context, gcmId);
}
}
}
项目:TextSecure
文件:GcmBroadcastReceiver.java
@Override
public void onReceive(Context context, Intent intent) {
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context);
String messageType = gcm.getMessageType(intent);
if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
Log.w(TAG, "GCM message...");
if (!TextSecurePreferences.isPushRegistered(context)) {
Log.w(TAG, "Not push registered!");
return;
}
String messageData = intent.getStringExtra("message");
String receiptData = intent.getStringExtra("receipt");
if (!TextUtils.isEmpty(messageData)) handleReceivedMessage(context, messageData);
else if (!TextUtils.isEmpty(receiptData)) handleReceivedMessage(context, receiptData);
}
}
项目:mattermost-android-classic
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
try {
synchronized (TAG) {
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_sender_id),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Log.d(TAG, "GCM registration token: " + token);
sharedPreferences.edit().putString("device_id", token).apply();
}
} catch (IOException e) {
Log.d(TAG, "Failed to complete token refresh", e);
}
Intent registrationComplete = new Intent(RegistrationConstants.REGISTRATION_COMPLETE);
LocalBroadcastManager.getInstance(this).sendBroadcast(registrationComplete);
}
项目:dasher-app-android
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
// Make a call to Instance API
InstanceID instanceID = InstanceID.getInstance(this);
String senderId = getResources().getString(R.string.gcm_defaultSenderId);
try {
// request token that will be used by the server to send push notifications
String token = instanceID.getToken(senderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE);
// pass along this data
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.edit().putString(GCM_TOKEN, token).apply();
sendRegistrationToServer(token);
} catch (IOException e) {}
}
项目:mobile-messaging-sdk-android
文件:RegistrationTokenHandler.java
void handleRegistrationTokenUpdate(Context context) {
String senderId = MobileMessagingCore.getGcmSenderId(context);
if (StringUtils.isBlank(senderId)) {
return;
}
try {
InstanceID instanceID = InstanceID.getInstance(context);
String token = instanceID.getToken(senderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
MobileMessagingLogger.v(MobileMessagingLogger.TAG, "RECEIVED TOKEN", token);
new AndroidBroadcaster(context).registrationAcquired(token);
sendRegistrationToServer(context, token);
subscribeTopics(context, token);
} catch (IOException e) {
MobileMessagingLogger.e(InternalSdkError.ERROR_TOKEN_REFRESH.get(), e);
}
}
项目:findlunch
文件:GcmRegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
try {
// Retrieve the GCM-Token
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
// Broadcasts the GCM-Token as a Message (so it can be used by other classes).
sendGcmTokenMessage(true, token);
} catch (Exception e) {
Log.w("GcmRegistration", "GCM Token could not be obtained");
sendGcmTokenMessage(false, "");
}
}
项目:EmbeddedSocial-Android-SDK
文件:GetGcmIdHandler.java
@Override
public void handleIntent(ServiceAction action, Intent intent) {
if (!tokenHolder.hasValidToken()) {
DebugLog.i("obtaining new GCM token");
InstanceID instanceID = InstanceID.getInstance(context);
try {
String token = instanceID.getToken(
context.getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE,
null
);
GcmTokenHolder.create(context).storeToken(token);
DebugLog.i("GCM token obtained successfully");
} catch (IOException e) {
DebugLog.logException(e);
}
}
WorkerService.getLauncher(context).launchService(ServiceAction.SYNC_DATA);
}
项目:ti.goosh
文件:TiGooshModule.java
@Kroll.method
public void unregisterForPushNotifications() {
final String senderId = getSenderId();
final Context context = TiApplication.getInstance().getApplicationContext();
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
InstanceID.getInstance(context).deleteToken(senderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE);
Log.d(LCAT, "delete instanceid succeeded");
} catch (final IOException e) {
Log.e(LCAT, "remove token failed - error: " + e.getMessage());
}
return null;
}
}.execute();
}
项目:ti.goosh
文件:RegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
TiGooshModule module = TiGooshModule.getModule();
if (module == null) {
Log.e(LCAT, "Intent handled but no TiGoosh instance module found");
return;
}
try {
String senderId = module.getSenderId();
String token = InstanceID.getInstance(this).getToken(senderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Log.i(LCAT, "Sender ID: " + senderId);
Log.i(LCAT, "Device Token: " + token);
module.sendSuccess(token);
} catch (Exception ex) {
Log.e(LCAT, "Failed to get GCM Registration Token:" + ex.getMessage());
module.sendError(ex);
}
}
项目:Vafrinn
文件:InvalidationGcmUpstreamSender.java
private void sendUpstreamMessage(String to, Bundle data, String token) {
if (token == null) {
GcmUpstreamUma.recordHistogram(
getApplicationContext(), GcmUpstreamUma.UMA_TOKEN_REQUEST_FAILED);
}
// Add the OAuth2 token to the bundle. The token should have the prefix Bearer added to it.
data.putString("Authorization", "Bearer " + token);
if (!isMessageWithinLimit(data)) {
GcmUpstreamUma.recordHistogram(
getApplicationContext(), GcmUpstreamUma.UMA_SIZE_LIMIT_EXCEEDED);
return;
}
String msgId = UUID.randomUUID().toString();
try {
GoogleCloudMessaging.getInstance(getApplicationContext()).send(to, msgId, 1, data);
} catch (IOException | IllegalArgumentException exception) {
Log.w(TAG, "Send message failed");
GcmUpstreamUma.recordHistogram(getApplicationContext(), GcmUpstreamUma.UMA_SEND_FAILED);
}
}
项目:react-native-notifications
文件:GcmToken.java
@NonNull
protected String getNewToken() throws Exception {
final InstanceID instanceId = InstanceID.getInstance(mAppContext);
Log.d(LOGTAG, "GCM is refreshing token... instanceId=" + instanceId.getId());
// TODO why is this needed?
GoogleCloudMessaging.getInstance(mAppContext).close();
try {
final String registrationToken = instanceId.getToken(getSenderId(), GoogleCloudMessaging.INSTANCE_ID_SCOPE);
Log.i(LOGTAG, "GCM has a new token: instanceId=" + instanceId.getId() + ", token=" + registrationToken);
return registrationToken;
} catch (Exception e) {
throw new Exception("FATAL: Failed to fetch a fresh new token, instanceId=" + instanceId.getId(), e);
}
}
项目:Rocket.Chat-android
文件:RocketRegistrationIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
mRxMethods = ((RocketApp)getApplicationContext()).getRxMethods();
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
try {
InstanceID instanceID = InstanceID.getInstance(this);
String senderId = mSharedPreferences.getString(PushKeys.SENDER_ID, null);
String token = instanceID.getToken(senderId,
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
sendRegistrationToServer(token);
subscribeTopics(token);
mSharedPreferences.edit().putString(PushKeys.TOKEN, token).apply();
} catch (Exception e) {
Log.d(TAG, "Failed to complete token refresh", e);
mSharedPreferences.edit().putBoolean(PushKeys.SENT_TOKEN_TO_SERVER, false).apply();
}
}
项目:fablab-android
文件:PushModel.java
private void unregisterInBackground() {
new AsyncTask<Context, Void, Void>() {
@Override
protected Void doInBackground(Context... params) {
try {
GoogleCloudMessaging mGoogleCloudMessaging = GoogleCloudMessaging.getInstance(
params[0]);
mGoogleCloudMessaging.unregister();
Log.i(TAG, "Device unregistered");
} catch (IOException e) {
Log.i(TAG, "Error", e);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
deleteRegistrationIdFromBackend();
deleteRegistrationId();
mPushId = "0";
}
}.execute(mContext);
}
项目:fme-apps-android
文件:GCMIntentService.java
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
if(!extras.isEmpty()){
if(GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)){
Log.i("GCMIntentService", "Received message");
String details = intent.getStringExtra( "alert" ) ;
String title = intent.getStringExtra( "title" ) ;
String[] location = parseLocation(intent.getStringExtra("location"));
addAlert(title, details, location[1],location[0]);
generateNotification(this,title, details,location[1],location[0]);
}
}
GCMBroadcastReceiver.completeWakefulIntent(intent);
}
项目:KanJuice
文件:GCMRegistrationIntentService.java
public void registerToGCM() {
Intent registrationComplete;
String token = null;
try {
InstanceID instanceID = InstanceID.getInstance(getApplicationContext());
logger.d("senderId is :" + getString(R.string.senderId));
token = instanceID.getToken(getString(R.string.senderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
logger.d("GCMIntentService token : " + token);
registrationComplete = new Intent(REGISTRATION_SUCESS);
registrationComplete.putExtra("token", token);
} catch (Exception e) {
registrationComplete = new Intent(REGISTRATION_FAILD);
logger.e("GCMIntentService registration failed " + token);
}
//send broadcast
LocalBroadcastManager.getInstance(this).sendBroadcast(registrationComplete);
}