當前位置: 首頁>>代碼示例>>Java>>正文


Java GcmPubSub類代碼示例

本文整理匯總了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();
    }
}
 
開發者ID:saikiapriyam,項目名稱:PushEZ,代碼行數:23,代碼來源:GcmIntentService.java

示例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();
		}
	}
}
 
開發者ID:iit-rende,項目名稱:thesapp-android,代碼行數:18,代碼來源:GcmTopicRegisterService.java

示例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);
}
 
開發者ID:M66B,項目名稱:BackPackTrackII,代碼行數:19,代碼來源:GcmService.java

示例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();
}
 
開發者ID:rapidpro,項目名稱:ureport-android,代碼行數:17,代碼來源:GcmTopicManager.java

示例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();
}
 
開發者ID:rapidpro,項目名稱:ureport-android,代碼行數:17,代碼來源:GcmTopicManager.java

示例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();
}
 
開發者ID:rapidpro,項目名稱:ureport-android,代碼行數:17,代碼來源:GcmTopicManager.java

示例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);
            }
        }
    }
}
 
開發者ID:trecrts,項目名稱:trecrts-eval,代碼行數:17,代碼來源:PushPlugin.java

示例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);
            }
        }
    }
}
 
開發者ID:trecrts,項目名稱:trecrts-eval,代碼行數:17,代碼來源:PushPlugin.java

示例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();
}
 
開發者ID:mongodb,項目名稱:stitch-android-sdk,代碼行數:44,代碼來源:GCMPushClient.java

示例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();
}
 
開發者ID:mongodb,項目名稱:stitch-android-sdk,代碼行數:44,代碼來源:GCMPushClient.java

示例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);
    }
}
 
開發者ID:mstfnacar,項目名稱:foodfeed,代碼行數:14,代碼來源:RegistrationIntentService.java

示例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);
  }
}
 
開發者ID:rakshitsoni02,項目名稱:newsApp,代碼行數:14,代碼來源:RegistrationIntentService.java

示例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


注:本文中的com.google.android.gms.gcm.GcmPubSub類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。