私はこのオプションをフォロー/アンフォローユーザーがあるアンドロイドアプリを開発しています。誰かが彼に従うと、FirebaseDatabase
のカウンターは1増加し、誰かが彼のフォローを解除すると、カウンターは1ずつ減少します。火災基地の値が増減したかどうかを知る方法?
私は誰かが彼に従うとすぐにサービスを開始することによって彼に従うたびにユーザーに通知しようとしていますアプリを終了してコードをService
に書き込んでください。ここで
は、サービスのonCreate()
のコードです:
firebaseDatabaseFollowers.child("***").child("***").child("followers").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
b = sharedPref2.getBoolean(SettingsActivity.KEY_PREF_NOTIF_FOLLOW, true);
Toast.makeText(getBaseContext(), "b: " + String.valueOf(b), Toast.LENGTH_SHORT).show();
if (dataSnapshot.getValue() != null) {
if (String.valueOf(b).equals("true")) {
final int m = (int) ((new Date().getTime()/1000L) % Integer.MAX_VALUE);
Intent notificationIntent = new Intent(getBaseContext(), NotificationARBroadcastReceiver.class);
notificationIntent.putExtra(NotificationARBroadcastReceiver.NOTIFICATION, getNotificationService());
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), m, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 0, pendingIntent);
}
} else {
Toast.makeText(getBaseContext(), "database is null", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
通知部が正常に動作しています。唯一の問題は、ユーザーがユーザーのフォローを解除しても通知が配信され、これが発生しないようにすることです。
したがって、FirebaseDatabase
のカウンターが増減した場合、それに応じて通知することができますか?
お知らせください。
私は 'SharedPreferences'に'ユーザーが現在持っているフォロワーの数を保持するグローバル変数 'を保存するはずですか? –
私はAndroidでプログラミングしていないので、その意味がわかりません - ごめんなさい!変数を保存して、必要などのクラスでもアクセスできるようにするのがもっと理にかなっていると思います(一般対個人) –