Block hat SMS von der Standard-Messaging-App aus gesendet.

Ich habe eine automatische SMS-Antwortanwendung für Android, die ich erstellt habe, und ich möchte nicht, dass die automatische SMS-Antwort in der Standard-Messaging-App angezeigt wird. Ich habe gesucht und gesucht und konnte keine Antwort finden. Gibt es eine Möglichkeit, das Schreiben der gesendeten SMS in die Standard-Messaging-App zu umgehen?

Hier mein BroadcastReciever, den ich verwende, um die Daten abzurufen und die Nachricht zu senden

public class SmsReceiver extends BroadcastReceiver {

ParseUser user = ParseUser.getCurrentUser();
// Auto reply message composed of the current reply and url from that business
String msg = user.getString("myCurrentReply") + " " + user.getString("couponUrlChosen");

List smsFromList = user.getList("smsFrom");
String userName = (String) user.get("username");

@Override
public void onReceive(final Context context, Intent intent) {
    Bundle bundle = intent.getExtras();

    Object messages[] = (Object[]) bundle.get("pdus");
    SmsMessage smsMessage[] = new SmsMessage[messages.length];
    for (int n = 0; n < messages.length; n++) {
        smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
    }
    final String pno = smsMessage[0].getOriginatingAddress();
    user.put("lastSmsFrom", pno);
    user.saveInBackground();

    // show first message
    Toast toast = Toast.makeText(context, "Received SMS: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);
    toast.show();

    // Check Phone Number from SMS Received against Array in User Row
    ParseQuery<ParseObject> query = ParseQuery.getQuery("_User");

    Log.d("Username: ", userName);
    query.whereEqualTo("username", userName);
    query.whereContainedIn("lastSmsFrom", smsFromList);
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> smsList, ParseException e) {
            if (e == null) {
                Log.d("Errors", "none");
                if (smsList.size() == 0) {
                    // Send SMS
                    sendSms(pno, msg);

                    // Add Phone number to smsFrom in currentUsers Row
                    user.addUnique("smsFrom", pno);

                    // Save Phone Number in Array
                    user.saveInBackground();

                    Log.d("List size: ", " " + smsList.size());


                }
            } else {
                Log.d("Error Message: ",
                        e.getMessage());
            }
            Log.d("Already sent to this number today. ", " " + smsList.size());
        }
    });

}

private void sendSms(String phonenumber, String message) {

    SmsManager manager = SmsManager.getDefault();
    manager.sendTextMessage(phonenumber, null, message, null, null);

}
 }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage