短信管理器已发送多条消息

时间:2021-05-10 06:06:46

标签: android-studio smsmanager

我已经实现了一个类,当一个人在给定时间拒绝服药时发送消息。这是实现的代码。

 private void sendSMS() {
        DatabaseReference ref= FirebaseDatabase.getInstance().getReference("Users");
        ref.child(firebaseAuth.getUid()).addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                for(DataSnapshot ds: dataSnapshot.getChildren()) {
                    String number = "" + dataSnapshot.child("sosnumber").getValue();
                    String name = "" + dataSnapshot.child("name").getValue();
                    
                    SmsManager smsManager=SmsManager.getDefault();
                    smsManager.sendTextMessage(number,null,name + " has rejected the taking medicine, "+ medicineAlarm.getPillName()+" at " +medicineAlarm.getStringTime(),null,null);


                }

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }

但是代码启动的时候,重复发送了10多条消息。如何改进这个代码只发送一次消息。

0 个答案:

没有答案