私は GCM を使用しており、サーバーへの呼び出し後に onRegistered メソッドで AppSettings アクティビティの toggleButton の状態を変更する必要があります
//called when i click the toggleButton
public void onPushStateButtonClicked(View view) {
// controllo se il bottone è su on
boolean on = ((ToggleButton) view).isChecked();
PushClientService p = new PushClientService();
if (on) {
savePushStateButton(true);
// se il bottone in impostazioni è settato ad on registro il dispositivo
p.pushService(this);
}else if(!on) {
savePushStateButton(false);
// se il bottone in impostazioni è settato ad on cancello il dispositivo
//nel caso sia il primo accesso essendo il bottone a false di default preveniamo l'eccezione
try{
GCMRegistrar.unregister(this);
}catch(IllegalArgumentException iAE){
Log.e("Errore:","stai cercando di cancellate un device non registrato");
}
}
}
他のクラス GCMIntentService で
protected void onRegistered(Context context, String registrationId) {
Log.i(TAG, "Device registered: regId = " + registrationId);
Log.d("onRegistered", getString(R.string.gcm_registered));
boolean myServerRegistration=ServerUtilities.customRegistration(context, registrationId);
if(!myServerRegistration){
// Errore sulla registrazione sul server, deregistro il device
GCMRegistrar.unregister(context);
**//change the state of the ToggleButton**
}
}
コンテキストを持つ別の単純なクラスでその値を false に設定したいのですが、可能ですか? または、アクティビティを更新できますか?
返信ありがとうございます!