2

i have app that send templates message with firebase user login somehow i need to extract or save sms logs messages and which user send that message on firebase database i dont have any idea how to make it but i have my code below login.java

public class LoginActivity  extends AppCompatActivity {
private ProgressBar spinner;

EditText EMAIL, PASSWORD;
Button SIGNIN;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    mAuth = FirebaseAuth.getInstance();

    EMAIL = (EditText) findViewById(R.id.email);
    PASSWORD = (EditText) findViewById(R.id.password);
    SIGNIN = (Button) findViewById(R.id.login);
    spinner = (ProgressBar) findViewById(R.id.progressBar1);
    spinner.setVisibility(View.GONE);


    SIGNIN.setOnClickListener(new View.OnClickListener() {


            @Override
            public void onClick(View view) {
                if ((TextUtils.isEmpty(EMAIL.getText().toString())) && (TextUtils.isEmpty(PASSWORD.getText().toString()))) {
                    Toast.makeText(getApplicationContext(), "make sure that you enter full ogin info ", Toast.LENGTH_SHORT).show();
                }else if (!isEmailValid(EMAIL.getText().toString())){
                    Toast.makeText(getApplicationContext(), "enter a valid mail", Toast.LENGTH_SHORT).show();
                } else {
                    SignIn(EMAIL.getText().toString(), PASSWORD.getText().toString());
                }

            }
        });
    SIGNIN.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String pass = PASSWORD.getText().toString();

            if(TextUtils.isEmpty(pass)) {
                PASSWORD.setError("kindly enter password ");
                return;
            }





            if ((TextUtils.isEmpty(EMAIL.getText().toString())) && (TextUtils.isEmpty(PASSWORD.getText().toString()))) {
                Toast.makeText(getApplicationContext(), "wrong info", Toast.LENGTH_SHORT).show();
                spinner.setVisibility(View.GONE);

            } else {
                spinner.setVisibility(View.VISIBLE);
                SignIn(EMAIL.getText().toString(), PASSWORD.getText().toString());
            }

        }
    });


    mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();
            if (user != null) {
                finish();
                startActivity(new Intent(getApplicationContext(), MainActivity.class));
                finish();
            }
        }
    };
    mAuth.addAuthStateListener(mAuthListener);


}


private void SignIn(String email, String password) {
    mAuth.signInWithEmailAndPassword(email, password)
            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        finish();
                        Toast.makeText(getApplicationContext(), "login done",
                                Toast.LENGTH_SHORT).show();
                        startActivity(new Intent(getApplicationContext(), MainActivity.class));
                        finish();
                    } else {
                        Toast.makeText(getApplicationContext(), "Error username",
                                Toast.LENGTH_SHORT).show();
                        spinner.setVisibility(View.GONE);

                    }

                }
            });
}

public static boolean isEmailValid(String email) {
    boolean isValid = false;

    String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
    CharSequence inputStr = email;

    Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);
    if (matcher.matches()) {
        isValid = true;
    }
    return isValid;
}
}

sms.java

public class Harsh extends AppCompatActivity {
RadioButton lo, hi, mid;
String sense;
Button submit;



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.harsh_layout);
    lo = (RadioButton) findViewById(R.id.lo_btn);
    hi = (RadioButton) findViewById(R.id.hi_btn);
    mid = (RadioButton) findViewById(R.id.mid_btn);
    submit = (Button) findViewById(R.id.submitButton);

    SharedPreferences prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);
    final String num = prefs.getString("nameKey", "0");

    submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (lo.isChecked()) {
                sendSMS( num, "  message one");

            } else if (hi.isChecked()) {
               sendSMS( num, "  message 2");

            } else if (mid.isChecked()) {


              sendSMS( num, "  message 3");
            }
            Toast.makeText(getApplicationContext(), "Command Sent", Toast.LENGTH_LONG).show(); // print the value of selected super star
        }
    });



}
public void sendSMS(String phoneNo, String msg) {
    try {
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNo, null, msg, null, null);
        Toast.makeText(getApplicationContext(), "Command Sent",
                Toast.LENGTH_LONG).show();
    } catch (Exception ex) {
        Toast.makeText(getApplicationContext(),ex.getMessage().toString(),
                Toast.LENGTH_LONG).show();
        ex.printStackTrace();
    }
}
}
Ahmed Samir
  • 259
  • 2
  • 6
  • 14
  • You send it to firebase in the normal manner, and get the SMS log from the device. – Zoe Apr 16 '17 at 09:58
  • but how i filter only messages that sent from my app not all messages was sent from my device – Ahmed Samir Apr 16 '17 at 10:00
  • If your app sends the messages, I assume you store them in a database. Then you just take the text messages from that database and log them – Zoe Apr 16 '17 at 10:47

0 Answers0