Я хочу отправить текстовые сообщения на номера, присутствующие в моей базе данных.Сообщения должны быть доставлены при нажатии на imageView.Следующий код внутри фрагмента называется Tab33.Я делюсь только методом onClick для ImageViews
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.imageViewPayments:
Boolean b = checkPermission();
if(b==true) {
DBRef.child("Members").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String phn = dataSnapshot.child("memberPhone").getValue(String.class);
String no = "+91 ";
String cat = no.concat(phn);
sms.sendTextMessage(cat, null, "Hey there! We know you enjoy Canteen Food but nobody likes to be in debt and that too for food. Please" +
" pay your Canteen Bill to the earliest and stay a Happy Tummy!", null, null);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Toast.makeText(getContext(),"Message Sent Successfully",Toast.LENGTH_LONG).show();
}else{
Snackbar.make(getView(), "Permission to send message NOT granted!", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
return;
case R.id.imageViewToday:
return;
case R.id.imageViewCoupon:
return;
case R.id.imageViewComposeMessage:
Snackbar.make(getView(), "Compose Message!", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
return;
}
}
private boolean checkPermission()
{
String permission = Manifest.permission.SEND_SMS;
int res = getContext().checkCallingOrSelfPermission(permission);
return (res == PackageManager.PERMISSION_GRANTED);
}
, где DBRef= FirebaseDatabase.getInstance().getReference();
и sms = SmsManager.getDefault();
Toast появляется, а затем приложение вылетает.
