本文整理汇总了Java中com.google.android.gms.gcm.GcmNetworkManager类的典型用法代码示例。如果您正苦于以下问题:Java GcmNetworkManager类的具体用法?Java GcmNetworkManager怎么用?Java GcmNetworkManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GcmNetworkManager类属于com.google.android.gms.gcm包,在下文中一共展示了GcmNetworkManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: schedule
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
/**
* For the given Triggering conditions, start a new GCM Network Manager request allowed
* to run after {@code delayStartSecs} seconds.
*/
private static void schedule(Context context, TriggerConditions triggerConditions,
long delayStartSecs, boolean overwrite) {
// Get the GCM Network Scheduler.
GcmNetworkManager gcmNetworkManager = GcmNetworkManager.getInstance(context);
Bundle taskExtras = new Bundle();
TaskExtrasPacker.packTimeInBundle(taskExtras);
TaskExtrasPacker.packTriggerConditionsInBundle(taskExtras, triggerConditions);
Task task = new OneoffTask.Builder()
.setService(ChromeBackgroundService.class)
.setExecutionWindow(delayStartSecs, ONE_WEEK_IN_SECONDS)
.setTag(OfflinePageUtils.TASK_TAG)
.setUpdateCurrent(overwrite)
.setRequiredNetwork(triggerConditions.requireUnmeteredNetwork()
? Task.NETWORK_STATE_UNMETERED
: Task.NETWORK_STATE_CONNECTED)
.setRequiresCharging(triggerConditions.requirePowerConnected())
.setExtras(taskExtras)
.build();
gcmNetworkManager.schedule(task);
}
示例2: schedule
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
/**
* Schedules a future task to start download resumption.
* @param allowMeteredConnection Whether download resumption can start if connection is metered.
*/
public void schedule(boolean allowMeteredConnection) {
GcmNetworkManager gcmNetworkManager = GcmNetworkManager.getInstance(mContext);
int networkType = allowMeteredConnection
? Task.NETWORK_STATE_CONNECTED : Task.NETWORK_STATE_UNMETERED;
OneoffTask task = new OneoffTask.Builder()
.setService(ChromeBackgroundService.class)
.setExecutionWindow(0, ONE_DAY_IN_SECONDS)
.setTag(TASK_TAG)
.setUpdateCurrent(true)
.setRequiredNetwork(networkType)
.setRequiresCharging(false)
.build();
try {
gcmNetworkManager.schedule(task);
} catch (IllegalArgumentException e) {
Log.e(TAG, "unable to schedule resumption task.", e);
}
}
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:23,代码来源:DownloadResumptionScheduler.java
示例3: scheduleLaunchTask
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
private static boolean scheduleLaunchTask(
Context context, GcmNetworkManager scheduler, long minDelayMs) {
// Google Play Services may not be up to date, if the application was not installed through
// the Play Store. In this case, scheduling the task will fail silently.
final long minDelaySecs = minDelayMs / 1000;
OneoffTask oneoff = new OneoffTask.Builder()
.setService(ChromeBackgroundService.class)
.setTag(TASK_TAG)
// We have to set a non-zero execution window here
.setExecutionWindow(minDelaySecs, minDelaySecs + 1)
.setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
.setPersisted(true)
.setUpdateCurrent(true)
.build();
try {
scheduler.schedule(oneoff);
} catch (IllegalArgumentException e) {
// Disable GCM for the remainder of this session.
setGCMEnabled(false);
// Return false so that the failure will be logged.
return false;
}
return true;
}
示例4: removeScheduledTasks
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
private static boolean removeScheduledTasks(GcmNetworkManager scheduler) {
// Third-party code causes broadcast to touch disk. http://crbug.com/614679
StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
try {
scheduler.cancelTask(TASK_TAG, ChromeBackgroundService.class);
} catch (IllegalArgumentException e) {
// This occurs when BackgroundSyncLauncherService is not found in the application
// manifest. This should not happen in code that reaches here, but has been seen in
// the past. See https://crbug.com/548314
// Disable GCM for the remainder of this session.
setGCMEnabled(false);
// Return false so that the failure will be logged.
return false;
} finally {
StrictMode.setThreadPolicy(oldPolicy);
}
return true;
}
示例5: rescheduleTasksOnUpgrade
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
/**
* Reschedule any required background sync tasks, if they have been removed due to an
* application upgrade.
*
* This method checks the saved preferences, and reschedules the sync tasks as appropriate
* to match the preferences.
* This method is static so that it can be run without actually instantiating a
* BackgroundSyncLauncher.
*/
protected static void rescheduleTasksOnUpgrade(final Context context) {
final GcmNetworkManager scheduler = GcmNetworkManager.getInstance(context);
BackgroundSyncLauncher.ShouldLaunchCallback callback =
new BackgroundSyncLauncher.ShouldLaunchCallback() {
@Override
public void run(Boolean shouldLaunch) {
if (shouldLaunch) {
// It's unclear what time the sync event was supposed to fire, so fire
// without delay and let the browser reschedule if necessary.
// TODO(iclelland): If this fails, report the failure via UMA (not now,
// since the browser is not running, but on next startup.)
scheduleLaunchTask(context, scheduler, 0);
}
}
};
BackgroundSyncLauncher.shouldLaunchBrowserIfStopped(context, callback);
}
示例6: onPreferenceChange
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
// UI or Streaming preference changed
if (preference == mThemePreference || preference == mHighlightTimelineLinksPreference ||
preference == mShowClientNameInTimelinePreference || preference == mTimelineFontSizePreference ||
preference == mHideMediaPreference || preference == mHideAvatarsPreference ||
preference == mShowAbsoluteTimePreference || preference == mCompactTimelinePreference ||
preference == mShowMediaPreviewPreference ||
preference == mStreamingPreference || mStreamingOnWifiPreference == preference) {
Snackbar.make(getActivity().findViewById(R.id.coordinator),
R.string.need_app_restart, Snackbar.LENGTH_INDEFINITE).show();
}
if (preference == mTimelineFontSizePreference) {
preference.setSummary((String) o);
} else if (preference == mBackgroundUpdatePreference ||
preference == mBackgroundUpdateIntervalPreference) {
GcmNetworkManager.getInstance(getActivity())
.schedule(TimelineUpdateService.create(mPrefsModel.backgroundUpdateInterval() / 1000));
}
return true;
}
示例7: onRunTask
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
@Override
public int onRunTask(TaskParams taskParams) {
try {
Bundle bundle = taskParams.getExtras();
String taskName = bundle.getString(TaskScheduler.TASK_NAME);
Task task = (Task) Class.forName(taskName).newInstance();
ArrayMap<String, Object> map = new ArrayMap<>(bundle.size());
for (String key : bundle.keySet()) {
map.put(key, bundle.get(key));
}
task.deserialize(map);
if (task.isRunning())
return GcmNetworkManager.RESULT_RESCHEDULE;
task.attach(null, ContextHandle.getApplicationHandle());
task.run();
task.deliverResult(this);
return GcmNetworkManager.RESULT_SUCCESS;
} catch (Exception err) {
LOG.e("Error running task", err);
return GcmNetworkManager.RESULT_FAILURE;
}
}
示例8: onClick
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
@Override
public void onClick(View v) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(AccountSettingsActivity.this);
sharedPreferences.edit().putString("firstName", firstName.getText().toString()).apply();
sharedPreferences.edit().putString("lastName", lastName.getText().toString()).apply();
sharedPreferences.edit().putString("age",age.getText().toString()).apply();
GcmNetworkManager gcmNM = GcmNetworkManager.getInstance(AccountSettingsActivity.this);
Log.i(TAG, "Registering the BackupTask");
OneoffTask task = new OneoffTask.Builder()
.setService(MyBackupService.class)
.setTag(TASK_BACKUP)
.setExecutionWindow(0L, ONE_HOUR)
.setRequiredNetwork(Task.NETWORK_STATE_UNMETERED)
.setRequiresCharging(true)
.setUpdateCurrent(true)
.build();
gcmNM.schedule(task);
}
开发者ID:PacktPublishing,项目名称:Asynchronous-Android-Programming,代码行数:21,代码来源:AccountSettingsActivity.java
示例9: onRunTask
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
@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;
}
示例10: fetchUrl
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
private int fetchUrl(OkHttpClient client, String url) {
Request request = new Request.Builder()
.url(url)
.build();
try {
Response response = client.newCall(request).execute();
Log.d(TAG, "fetchUrl:response:" + response.body().string());
if (response.code() != 200) {
return GcmNetworkManager.RESULT_FAILURE;
}
} catch (IOException e) {
Log.e(TAG, "fetchUrl:error" + e.toString());
return GcmNetworkManager.RESULT_FAILURE;
}
return GcmNetworkManager.RESULT_SUCCESS;
}
示例11: onCreate
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Calendar now = Calendar.getInstance();
now.setLenient(true);
new WindowTask()
.setService(SyncService.class)
.setPersisted(true)
.setUpdateCurrent(true)
.setTag(SyncService.TAG)
.setStartTime(now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE) + 2)
.setWindowHours(1)
.schedule(GcmNetworkManager.getInstance(this));
}
示例12: onRunTask
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
@Override
public int onRunTask(TaskParams taskParams) {
Log.d(TAG, "onRunTask: " + taskParams.getTag());
String tag = taskParams.getTag();
// Default result is success.
int result = GcmNetworkManager.RESULT_SUCCESS;
// Choose method based on the tag.
if (GcmActivity.TASK_TAG_UNMETERED.equals(tag)) {
result = doUnmeteredTask();
} else if (GcmActivity.TASK_TAG_CHARGING.equals(tag)) {
result = doChargingTask();
}
// Return one of RESULT_SUCCESS, RESULT_FAILURE, or RESULT_RESCHEDULE
return result;
}
示例13: sendRegistrationToServer
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
private void sendRegistrationToServer(String token) {
try {
Log.d(TAG, "Scheduling tasks");
PeriodicTask task = new PeriodicTask.Builder()
.setService(TaskService.class)
.setTag(GcmActivity.TASK_TAG_UNMETERED)
.setRequiredNetwork(Task.NETWORK_STATE_UNMETERED)
.setPeriod(7200L)
.build();
GcmNetworkManager.getInstance(this).cancelAllTasks(TaskService.class);
GcmNetworkManager.getInstance(this).schedule(task);
PlusSyncService.startSyncService(getApplicationContext(), "RegistrationToServer");
GcmActivity.queueCheckOld(getApplicationContext());
} catch (Exception e) {
Log.e(TAG, "Exception in sendRegistration: " + e.toString());
}
}
示例14: scheduleSensorLogsUploadTask
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
/**
* Schedule all sensor LOGS upload one time task
*
* @param context
*/
private void scheduleSensorLogsUploadTask(Context context) {
Log.d(TAG, "Scheduling logs upload one time task...");
OneoffTask oneTimeTask = new Builder()
.setService(LogsUploadService.class)
.setExecutionWindow(UPLOAD_ALL_TASKS_START_SECS,
UPLOAD_ALL_TASKS_END_SECS)
.setTag("onetimetag | 2")
.setPersisted(true)
.setUpdateCurrent(true)
.setRequiredNetwork(Task.NETWORK_STATE_ANY)
.setRequiresCharging(false)
.build();
GcmNetworkManager.getInstance(context).schedule(oneTimeTask);
Log.d(TAG, "Logs upload task was scheduled!");
}
开发者ID:Telecooperation,项目名称:assistance-platform-client-sdk-android,代码行数:25,代码来源:WifiStateReceiver.java
示例15: scheduleOneTimeTask
import com.google.android.gms.gcm.GcmNetworkManager; //导入依赖的package包/类
/**
* Schedules an periodic upload task
*/
public static void scheduleOneTimeTask(Context context, long startSecs, long endSecs, String tag) {
Log.d(TAG, "Scheduling one time task...");
Bundle bundle = new Bundle();
bundle.putInt(UPLOAD_ALL_FLAG_NAME, UPLOAD_ALL_FLAG_VALUE);
OneoffTask oneTimeTask = new Builder()
.setService(SensorUploadService.class)
.setExecutionWindow(startSecs, endSecs)
.setTag(tag)
.setPersisted(true)
.setUpdateCurrent(true)
.setRequiredNetwork(Task.NETWORK_STATE_ANY)
.setRequiresCharging(false)
.setExtras(bundle)
.build();
GcmNetworkManager.getInstance(context).schedule(oneTimeTask);
Log.d(TAG, "One time task was scheduled!");
}
开发者ID:Telecooperation,项目名称:assistance-platform-client-sdk-android,代码行数:26,代码来源:SensorUploadService.java