私はすでに Firebase プッシュ通知をアプリに正常に実装していますが、ToggleButton/Switch にユーザーの選択を保存させたいと思っています。つまり、ユーザーがスイッチをアクティブにしたときに、そのステータスを保存したいのです。アプリ、ステータスは自動的に「無効」に変わります。私のコードは次のとおりです。
いくつかのチュートリアルを試しましたが、これを整理できません...
package com.lfcchile;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.Toast;
import com.google.firebase.messaging.FirebaseMessaging;
/**
* Created by Jona on 7/25/16.
*/
public class NotificationSettings extends AppCompatActivity {
private static final String TAG = "FCM Service";
private Switch switchComunidad, switchBlog, switchEquipo, switchPartidos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notification_settings);
switchComunidad = (Switch) findViewById(R.id.switchComunidad);
switchBlog = (Switch) findViewById(R.id.switchBlog);
switchEquipo = (Switch) findViewById(R.id.switchEquipo);
switchPartidos = (Switch) findViewById(R.id.switchPartidos);
switchComunidad.setTextOn("On");
switchComunidad.setTextOff("Off");
switchBlog.setTextOn("On");
switchBlog.setTextOff("Off");
switchEquipo.setTextOn("On");
switchEquipo.setTextOff("Off");
switchPartidos.setTextOn("On");
switchPartidos.setTextOff("Off");
//Funciones que controlan las acciones de cada Switch
switchComunidad.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (switchComunidad.isChecked()){
FirebaseMessaging.getInstance().subscribeToTopic("Comunidad");
Log.d(TAG, "Suscrito al tema Comunidad");
Toast.makeText(getApplicationContext(), "Activado Correctamente",
Toast.LENGTH_LONG).show();
}else {
FirebaseMessaging.getInstance().unsubscribeFromTopic("Comunidad");
Log.d(TAG, "Suscrito al tema Comunidad");
Toast.makeText(getApplicationContext(), "Desactivado Correctamente",
Toast.LENGTH_LONG).show();
}
}
});
switchBlog.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (switchBlog.isChecked()){
FirebaseMessaging.getInstance().subscribeToTopic("Blog");
Toast.makeText(getApplicationContext(), "Activado Correctamente",
Toast.LENGTH_LONG).show();
}else {
FirebaseMessaging.getInstance().unsubscribeFromTopic("Blog");
Toast.makeText(getApplicationContext(), "Desactivado Correctamente",
Toast.LENGTH_LONG).show();
}
}
});
switchEquipo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (switchEquipo.isChecked()){
FirebaseMessaging.getInstance().subscribeToTopic("Equipo");
Toast.makeText(getApplicationContext(), "Activado Correctamente",
Toast.LENGTH_LONG).show();
}else {
FirebaseMessaging.getInstance().unsubscribeFromTopic("Equipo");
Toast.makeText(getApplicationContext(), "Desactivado Correctamente",
Toast.LENGTH_LONG).show();
}
}
});
switchPartidos.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (switchPartidos.isChecked()){
FirebaseMessaging.getInstance().subscribeToTopic("Partidos");
Toast.makeText(getApplicationContext(), "Activado Correctamente",
Toast.LENGTH_LONG).show();
}else {
FirebaseMessaging.getInstance().unsubscribeFromTopic("Partidos");
Toast.makeText(getApplicationContext(), "Desactivado Correctamente",
Toast.LENGTH_LONG).show();
}
}
});
}
}
前もって感謝します!