本文整理匯總了Java中com.google.android.gcm.GCMRegistrar類的典型用法代碼示例。如果您正苦於以下問題:Java GCMRegistrar類的具體用法?Java GCMRegistrar怎麽用?Java GCMRegistrar使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
GCMRegistrar類屬於com.google.android.gcm包,在下文中一共展示了GCMRegistrar類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onDestroy
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
protected void onDestroy() {
super.onDestroy();
if (mGCMRegisterTask != null) {
LOGD(TAG, "Cancelling GCM registration task.");
mGCMRegisterTask.cancel(true);
}
try {
GCMRegistrar.onDestroy(this);
} catch (Exception e) {
LOGW(TAG, "C2DM unregistration error", e);
}
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.unregisterOnSharedPreferenceChangeListener(this);
}
示例2: onSuccessHttpOperation
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
public void onSuccessHttpOperation(String responseData) {
Log.d(SmartConstants.APP_NAME, "PushMessageNotifier->onSuccessHttpOperation->current event:" + this.currentEvent + "response data:" + responseData);
hideLoadingIndicator();
switch (currentEvent) {
case CURRENT_EVENT_PUSH_REGISTER:
GCMRegistrar.setRegisteredOnServer(context, true);
notifierPushMessageListener.onPushRegistrationCompleteSuccess(prepareResponseFromCurrentEventSuccess(currentNotifierEvent, new JSONObject()));
// String message = SmartConstants.GCM_SERVER_REGISTERED_MESSAGE;
// displayMessage(context, message);
break;
case CURRENT_EVENT_PUSH_UNREGISTER:
// TODO call the device unregister function here
GCMRegistrar.setRegisteredOnServer(context, false);
notifierPushMessageListener.onPushRegistrationCompleteSuccess(prepareResponseFromCurrentEventSuccess(currentNotifierEvent, new JSONObject()));
// String message = SmartConstants.GCM_SERVER_UNREGISTERED_MESSAGE;
// displayMessage(context, message);
break;
}
}
示例3: onErrorHttpOperation
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
public void onErrorHttpOperation(int exceptionData, String exceptionMessage) {
Log.e(SmartConstants.APP_NAME, "PushNotificationUtility->onErrorHttpOperation->exceptionData:" + exceptionData + ",exceptionMessage:" + exceptionMessage);
hideLoadingIndicator();
switch (currentEvent) {
case CURRENT_EVENT_PUSH_REGISTER:
GCMRegistrar.setRegisteredOnServer(context, false);
notifierPushMessageListener.onPushRegistrationCompleteError(prepareResponseFromCurrentEventError(currentNotifierEvent, exceptionMessage));
break;
case CURRENT_EVENT_PUSH_UNREGISTER:
GCMRegistrar.setRegisteredOnServer(context, false);
notifierPushMessageListener.onPushRegistrationCompleteError(prepareResponseFromCurrentEventError(currentNotifierEvent, exceptionMessage));
break;
}
}
示例4: getRegistrationId
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
public static String getRegistrationId(Context paramContext)
{
int i = Build.VERSION.SDK_INT;
if (i < 8) {
throw new UnsupportedOperationException("Device must be at least API Level 8 (instead of " + i + ")");
}
PackageManager localPackageManager = paramContext.getPackageManager();
try
{
localPackageManager.getPackageInfo("com.google.android.gsf", 0);
String str = GCMRegistrar.getRegistrationId(paramContext);
if (TextUtils.isEmpty(str))
{
FinskyLog.d("Start requesting GCM Reg Id", new Object[0]);
String[] arrayOfString = { "932144863878" };
GCMRegistrar.resetBackoff(paramContext);
GCMRegistrar.internalRegister(paramContext, arrayOfString);
str = null;
}
return str;
}
catch (PackageManager.NameNotFoundException localNameNotFoundException)
{
throw new UnsupportedOperationException("Device does not have package com.google.android.gsf");
}
}
示例5: onCreate
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
// Thread.setDefaultUncaughtExceptionHandler(new UnCaughtException(
// SplashActivity.this));
mApplication = (InternalApp) getApplication();
if (!mApplication.isTabletLayout()) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
// Automatically registers application on startup.
GCMRegistrar.register(this, CommonUtilities.SENDER_ID);
}
initiateSkillsApi();
hideActionbar();
getAllReferences();
loadControls();
loadAnimation();
}
示例6: registerGCM
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
/**
* Registers GCM and sends to server
*/
private void registerGCM() {
try {
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, Config.GCM_SENDER_ID);
} else {
if (Remember.getBoolean("gcmSent", false)) {
ApiService.getClientJackson().register(
regId,
U.getDeviceId(this)
).enqueue(new Summon<Result>() {
@Override
public void onSuccess(Call<Result> call, Response<Result> response) {
Remember.putBoolean("gcmSent", true);
}
});
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
示例7: removeWpComUserRelatedData
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
public static void removeWpComUserRelatedData(Context context) {
// cancel all Volley requests - do this before unregistering push since that uses
// a Volley request
VolleyUtils.cancelAllRequests(requestQueue);
NotificationsUtils.unregisterDevicePushNotifications(context);
try {
GCMRegistrar.checkDevice(context);
GCMRegistrar.unregister(context);
} catch (Exception e) {
AppLog.v(T.NOTIFS, "Could not unregister for GCM: " + e.getMessage());
}
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
editor.remove(WordPress.WPCOM_USERNAME_PREFERENCE);
editor.remove(WordPress.ACCESS_TOKEN_PREFERENCE);
editor.commit();
// reset all reader-related prefs & data
AppPrefs.reset();
ReaderDatabase.reset();
// Reset Simperium buckets (removes local data)
SimperiumUtils.resetBucketsAndDeauthorize();
}
示例8: getPushNotificationSettings
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
public static void getPushNotificationSettings(Context context, RestRequest.Listener listener,
RestRequest.ErrorListener errorListener) {
if (!WordPress.hasDotComToken(context)) {
return;
}
String gcmToken = GCMRegistrar.getRegistrationId(context);
if (TextUtils.isEmpty(gcmToken)) {
return;
}
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
String deviceID = settings.getString(WPCOM_PUSH_DEVICE_SERVER_ID, null);
if (TextUtils.isEmpty(deviceID)) {
AppLog.e(T.NOTIFS, "device_ID is null in preferences. Get device settings skipped.");
return;
}
WordPress.getRestClientUtils().get("/device/" + deviceID, listener, errorListener);
}
示例9: onDestroy
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
unregisterReceiver(SmsIntentReceiver);
if (mRegisterTask != null) {
mRegisterTask.cancel(true);
}
try {
unregisterReceiver(mHandleMessageReceiver);
GCMRegistrar.onDestroy(this);
} catch (Exception e) {
Log.e("UnRegister Receiver Error", "> " + e.getMessage());
}
super.onDestroy();
}
示例10: onDestroy
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
protected void onDestroy() {
super.onDestroy();
if (mGCMRegisterTask != null) {
LogUtils.LOGD(TAG, "Cancelling GCM registration task.");
mGCMRegisterTask.cancel(true);
}
try {
GCMRegistrar.onDestroy(this);
} catch (Exception e) {
LogUtils.LOGW(TAG, "C2DM unregistration error", e);
}
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.unregisterOnSharedPreferenceChangeListener(this);
}
示例11: Register
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
static void Register(Context context, Boolean force) {
taskWasForced = force;
originalContext = context;
if (force || !IsRegistered(context)) {
String regId = GCMRegistrar.getRegistrationId(context);
if (!force && regId != "") {
RegisterOnDeveloperServer(context, regId);
} else {
GCMRegistrar.setRegisteredOnServer(context, false);
try {
GCMRegistrar.register(context, APP_GCM_ID);
} catch (Exception ex) {
OnRegistrationFail(context);
}
}
}
}
示例12: RegisterOnDeveloperServer
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
static void RegisterOnDeveloperServer(Context context, String registrationId) {
for (int i = 0; i < 3; i++) {
boolean success = post(context, registrationId);
if (success) {
GCMRegistrar.setRegisteredOnServer(context, true);
OnRegistrationSuccess(context);
return;
} else {
try {
Thread.sleep(2000);
} catch (Exception ex) {
break;
}
}
}
OnRegistrationFail(context);
}
示例13: register
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
private void register(String regId) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
try {
Studentportal.getSportalClient().postGCMRegistrationId(regId);
GCMRegistrar.setRegisteredOnServer(this, true);
Preferences.setNotificationsEnabled(this, preferences, true);
// only get notifications from the time of registering, none of the time before
Preferences.setNotificationsLastCheckDate(this, preferences, new Date());
GCMStatusBroadcastCommunicator.sendBroadcast(this,
new Intent().putExtra(GCMStatusBroadcastCommunicator.EXTRA_GCM_UP, true));
} catch (Exception e) {
Log.e(TAG, "gcm registering on campus failed", e);
/* If registering at the campus server fails, unregister from GCM to avoid an illegal app
* state where the app thinks it is registered but the campus server doesn't know about its
* existence.
* A new registration try will be executed on the next app start. */
GCMUtils.unregister(this);
Preferences.setNotificationsEnabled(this, preferences, false);
GCMStatusBroadcastCommunicator.sendBroadcast(this,
new Intent().putExtra(GCMStatusBroadcastCommunicator.EXTRA_GCM_UP, false));
}
}
示例14: clearRegistrationId
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
/**
* Clears the registered GCM ID and makes the GCM library think that the app isn't
* registered at GCM.
* After this method has been called, the ID is still stored in the GCM system and
* also on the campus server for the previous user. Sooner or later the GCM will
* invalidate the ID (either because it's getting too old or it notices that no client
* responds to messages with this ID [just my wild guess]), similar to the process
* described here: http://developer.android.com/google/gcm/adv.html#unreg
* At some later time the campus server might want to send a message to the device
* with this ID, get the answer from GCM that the ID is invalid and delete it from
* it's database.
* The GCM library does exactly the same after the app has been updated to a new
* version, so this procedure should be save and the server infrastructure should
* be able to handle it.
*/
public static void clearRegistrationId(Context context) {
try {
/* The method is private and therefore needs to be accessed by reflection.
* Maybe Google doesn't want app to call it directly, but the alternative would
* be to set up a much more complicated workflow that first unregisters the app,
* and then checks in the onUnregistered handler if some flag is set that tells
* the app to register again. The advantage would though be, that the ID gets
* invalidated instantly in the GCM system. */
Method m = GCMRegistrar.class.getDeclaredMethod("clearRegistrationId", Context.class);
m.setAccessible(true);
m.invoke(null, context);
} catch (Exception e) {
Log.e(TAG, "reflection call to clear regId failed", e);
Analytics.onError(Analytics.ERROR_GCM_CLEAR_REGID, e);
}
}
示例15: doInBackground
import com.google.android.gcm.GCMRegistrar; //導入依賴的package包/類
@Override
protected Void doInBackground(Context... params)
{
GCMRegistrar.unregister(params[0]);
try
{
Class.forName( "com.amazon.device.messaging.ADM" );
}
catch (ClassNotFoundException e)
{
return null;
}
final ADM adm = new ADM(KlyphApplication.getInstance());
adm.startUnregister();
return null;
}