本文整理匯總了Java中com.google.android.gms.gcm.GcmPubSub類的典型用法代碼示例。如果您正苦於以下問題:Java GcmPubSub類的具體用法?Java GcmPubSub怎麽用?Java GcmPubSub使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
GcmPubSub類屬於com.google.android.gms.gcm包,在下文中一共展示了GcmPubSub類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: doInBackground
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
@Override
protected String[] doInBackground(String... topics) {
final GcmPubSub pubSub = GcmPubSub.getInstance(getContext());
try {
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(getContext());
final String token = sharedPreferences.getString(AufzugswaechterPreferences.TOKEN, null);
if (token != null) {
for (String topic : topics) {
toggleSubscription(pubSub, topic, token);
}
return topics;
} else {
return null;
}
} catch (IOException ioex) {
// TODO error reporting
ioex.printStackTrace();
return null;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
開發者ID:highsource,項目名稱:aufzugswaechter-android-app,代碼行數:25,代碼來源:AbstractToggleTopicSubscribtionTask.java
示例2: subscribeToTopic
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
/**
* 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();
}
}
示例3: onHandleIntent
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
@Override
protected void onHandleIntent(Intent intent) {
String token = intent.getStringExtra(TOKEN);
if (TextUtils.isEmpty(token)) {
Logs.gcm("Empty token.");
return;
}
if (!TextUtils.isEmpty(DEFAULT_TOPIC)) {
Logs.gcm("subscribing to topic: " + DEFAULT_TOPIC + " with token " + token);
try {
GcmPubSub.getInstance(this).subscribe(token, "/topics/" + DEFAULT_TOPIC, null);
} catch (IOException e) {
e.printStackTrace();
}
}
}
示例4: subscribeWeatherUpdates
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
public static void subscribeWeatherUpdates(Context context) throws IOException {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String token = prefs.getString(SettingsFragment.PREF_GCM_TOKEN, null);
boolean subscribe = prefs.getBoolean(SettingsFragment.PREF_WEATHER_GCM, false);
if (token == null) {
Log.i(TAG, "Subscribe weather updates: no token");
return;
}
String topic = "/topics/weather";
GcmPubSub pubSub = GcmPubSub.getInstance(context);
if (subscribe)
pubSub.subscribe(token, topic, null);
else
pubSub.unsubscribe(token, topic);
Log.i(TAG, "Subcribe " + topic + "=" + subscribe);
}
示例5: registerToStoryTopic
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
public void registerToStoryTopic(final User user, final Story story) {
new AsyncTask<Void,Void,Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
if(user.getPushIdentity() != null) {
GcmPubSub gcmPubStub = GcmPubSub.getInstance(context);
gcmPubStub.subscribe(user.getPushIdentity(), getTopicName(STORY_TOPICS_PATH, story.getKey()), null);
}
} catch(Exception exception) {
Log.e(TAG, "registerToChatRoomTopic ", exception);
}
return null;
}
}.execute();
}
示例6: registerToChatRoomTopic
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
public void registerToChatRoomTopic(final User user, final String chatRoomKey) {
new AsyncTask<Void,Void,Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
if(user.getPushIdentity() != null) {
GcmPubSub gcmPubStub = GcmPubSub.getInstance(context);
gcmPubStub.subscribe(user.getPushIdentity(), getTopicName(CHAT_TOPICS_PATH, chatRoomKey), null);
}
} catch(Exception exception) {
Log.e(TAG, "registerToChatRoomTopic ", exception);
}
return null;
}
}.execute();
}
示例7: unregisterToChatRoomTopic
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
public void unregisterToChatRoomTopic(final User user, final String chatRoomKey) {
new AsyncTask<Void,Void,Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
if (user.getPushIdentity() != null) {
GcmPubSub gcmPubStub = GcmPubSub.getInstance(context);
gcmPubStub.unsubscribe(user.getPushIdentity(), getTopicName(CHAT_TOPICS_PATH, chatRoomKey));
}
} catch (Exception exception) {
Log.e(TAG, "unregisterToChatRoomTopic ", exception);
}
return null;
}
}.execute();
}
示例8: subscribeToTopics
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
private void subscribeToTopics(JSONArray topics, String registrationToken) {
if (topics != null) {
String topic = null;
for (int i=0; i<topics.length(); i++) {
try {
topic = topics.optString(i, null);
if (topic != null) {
Log.d(LOG_TAG, "Subscribing to topic: " + topic);
GcmPubSub.getInstance(getApplicationContext()).subscribe(registrationToken, "/topics/" + topic, null);
}
} catch (IOException e) {
Log.e(LOG_TAG, "Failed to subscribe to topic: " + topic, e);
}
}
}
}
示例9: unsubscribeFromTopics
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
private void unsubscribeFromTopics(JSONArray topics, String registrationToken) {
if (topics != null) {
String topic = null;
for (int i=0; i<topics.length(); i++) {
try {
topic = topics.optString(i, null);
if (topic != null) {
Log.d(LOG_TAG, "Unsubscribing to topic: " + topic);
GcmPubSub.getInstance(getApplicationContext()).unsubscribe(registrationToken, "/topics/" + topic);
}
} catch (IOException e) {
Log.e(LOG_TAG, "Failed to unsubscribe to topic: " + topic, e);
}
}
}
}
示例10: subscribeToTopic
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
/**
* Subscribes the client to a specific topic.
* /topics/ prefix is not necessary.
*
* @param topic The topic to subscribe to
*
* @return A task that can resolved upon subscribing.
*/
public Task<Void> subscribeToTopic(final String topic) {
final GcmPubSub pubSub = GcmPubSub.getInstance(getContext());
final String topicKey = String.format("/topics/%s", topic);
final InstanceID instanceId = InstanceID.getInstance(getContext());
final TaskCompletionSource<Void> future = new TaskCompletionSource<>();
getRegistrationToken(instanceId, _info.getSenderId()).addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull final Task<String> task) {
if (!task.isSuccessful()) {
future.setException(task.getException());
}
new AsyncTask<Object, Integer, String>() {
@Override
protected String doInBackground(final Object[] ignored) {
try {
pubSub.subscribe(task.getResult(), topicKey, null);
} catch (final IOException e) {
Log.e(TAG, "Error subscribing to " + topicKey, e);
future.setException(e);
return null;
}
future.setResult(null);
return null;
}
}.execute();
}
});
return future.getTask();
}
示例11: unsubscribeFromTopic
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
/**
* Subscribes the client to a specific topic.
* /topics/ prefix is not necessary.
*
* @param topic The topic to unsubscribe from
*
* @return A task that can resolved upon subscribing.
*/
public Task<Void> unsubscribeFromTopic(final String topic) {
final GcmPubSub pubSub = GcmPubSub.getInstance(getContext());
final String topicKey = String.format("/topics/%s", topic);
final InstanceID instanceId = InstanceID.getInstance(getContext());
final TaskCompletionSource<Void> future = new TaskCompletionSource<>();
getRegistrationToken(instanceId, _info.getSenderId()).addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull final Task<String> task) {
if (!task.isSuccessful()) {
future.setException(task.getException());
}
new AsyncTask<Object, Integer, String>() {
@Override
protected String doInBackground(final Object[] ignored) {
try {
pubSub.unsubscribe(task.getResult(), topicKey);
} catch (final IOException e) {
Log.e(TAG, "Error unsubscribing from " + topicKey, e);
future.setException(e);
return null;
}
future.setResult(null);
return null;
}
}.execute();
}
});
return future.getTask();
}
示例12: subscribeTopics
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
private void subscribeTopics(String token){
GcmPubSub pubSub = GcmPubSub.getInstance(this);
try{
Log.i(TAG, "Subscribing to " + TOPIC_NAME);
pubSub.subscribe(token, "/topics/" + TOPIC_NAME, null);
Log.i(TAG, "Subscribed to " + TOPIC_NAME + " with success");
} catch (Exception e){
Log.e(TAG,"Failed to subscribe to " + TOPIC_NAME,e);
}
}
開發者ID:PacktPublishing,項目名稱:Asynchronous-Android-Programming,代碼行數:13,代碼來源:RegistrationIntentService.java
示例13: subscribeTopics
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
/**
* Subscribe to any GCM topics of interest, as defined by the TOPICS constant.
*
* @param token GCM token
* @throws IOException if unable to reach the GCM PubSub service
*/
// [START subscribe_topics]
private void subscribeTopics(String token) throws IOException {
GcmPubSub pubSub = GcmPubSub.getInstance(this);
for (String topic : TOPICS) {
pubSub.subscribe(token, "/topics/" + topic, null);
}
}
示例14: subscribeTopics
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
/**
* Subscribe to any GCM topics of interest, as defined by the TOPICS constant.
*
* @param token GCM token
* @throws IOException if unable to reach the GCM PubSub service
*/
// [START subscribe_topics]
private void subscribeTopics(String token) throws IOException {
GcmPubSub pubSub = GcmPubSub.getInstance(this);
for (String topic : TOPICS) {
pubSub.subscribe(token, "/topics/" + topic, null);
}
}
示例15: subscribeTopics
import com.google.android.gms.gcm.GcmPubSub; //導入依賴的package包/類
/**
* Subscribe to any GCM topics of interest, as defined by the TOPICS constant.
*
* @param token GCM token
* @throws IOException if unable to reach the GCM PubSub service
*/
// [START subscribe_topics]
private void subscribeTopics(String token) throws IOException {
GcmPubSub pubSub = GcmPubSub.getInstance(this);
for (String topic : TOPICS) {
pubSub.subscribe(token, TOPICS_SERVICE + topic, null);
}
}
開發者ID:Telecooperation,項目名稱:assistance-platform-client-sdk-android,代碼行數:16,代碼來源:GcmRegistrationIntentService.java