Ich habe eine Liste der GCM-registrierten Benutzer und ihre entsprechenden Registrierungs-IDs in einer Datenbanktabelle, und ich möchte einen Benutzer wirklich abmelden, wenn er/sie aus der Tabelle gelöscht wird. Ich habe hier in Stackoverflow viele Beispiele gefunden, aber die meisten basieren auf der alten API GCMRegistrar, die jetzt veraltet ist. Ich verwende GoogleCloudMessaging API und einem Benutzer durch folgende Methode Registrierung:Registrierung eines Geräts von GCM mit Registrierungs-ID in Android
private void registerUser(){
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getBaseContext());
String regId = "";
try {
regId = gcm.register(getString(R.string.project_number));
Log.i("registrationId", regId);
}
catch (IOException e) {
Log.i("Registration Error", e.getMessage());
}
}
Ich habe ein Administrator-App, die als 3rd-Party-Application-Server fungiert, da es Benachrichtigungen an alle Benutzer schiebt. Ich mag einen bestimmten Benutzer von diesem Administrator-App mit folgenden Methode zum Aufheben der Registrierung:
private void unRegister(String regId) {
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getBaseContext());
try {
gcm.unregister();
}
catch (IOException e) {
System.out.println("Error Message: " + e.getMessage());
}
}
Aber es verwirrt mir, dass austragen() -Methode ist keine Registrierung Id als Argument nehmen, die es unmöglich macht, ein bestimmtes Gerät deregistrieren. Gibt es eine Möglichkeit, die Registrierung eines bestimmten Geräts von GCM per Registrierungs-ID aufzuheben?
lol, aber Sie diesen Code ausführen ** auf bestimmten Gerät ** so deregistrieren es dieses spezielle Gerät ... – Selvin
Ich führe die "register" -Methode auf dem spezifischen Benutzergerät, aber ich muss die Registrierung des Benutzers vom Administratorgerät aufheben. –
Administrator-Gerät? Es gibt keine solche Sache in GCM – Selvin