2016-04-02 14 views
0

Hier ist meine SMS() -Funktion. wenn sie richtig Absicht seiner Arbeit aufrufen, aber wenn ich Taste drücken, dann wieder seine mich direkt auf dem Startbildschirm gesetzt und die Wiederaufnahme nicht meine AnwendungSenden von SMS mit Absicht, aber wenn drücken Sie die Taste, die nicht wieder meine Anwendung

public class SmsActivity extends AppCompatActivity { 

    EditText number; 
    Button smsBtn; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_sms); 
     number=(EditText)findViewById(R.id.etNumber); 
     smsBtn=(Button)findViewById(R.id.btn_sms); 

     smsBtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       sms(number.getText().toString()); 
      } 
     }); 

    } 
    void sms(String contact_number) { 
     try { 
      Intent i = new Intent(Intent.ACTION_VIEW); 
      i.setType("vnd.android-dir/mms-sms"); 
      String number = "sms:" + contact_number; 
      i.setData(Uri.parse(number)); 
      startActivity(i); 

     } catch (ActivityNotFoundException e) { 
      Toast.makeText(getParent(), "SMS cannot be sent", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

bitte helfen Sie mir .. Danke.

+0

post activity code drücken. –

+1

Das ist ziemlich normal. Erwarte nicht, dass das System deine Aktivität immer im Hintergrund hält, abhängig vom Speicherstatus des Geräts, kann es deine Aktivität beenden. – Egor

+0

Also was kann ich tun, um dies zu verhindern? –

Antwort

0

Sie benötigen ein Flag, mit dem Sie bestimmen können, dass Sie super.onbackpress() aufrufen müssen; oder SMS senden.

Ich glaube, Sie tun beide Aktion zusammen

0

Überprüfen Sie Ihre Manifest Erstens kann für SMSActivity sein Sie

verwendet haben

android: Nohistory = "true"

was Code, den Sie es geschrieben haben sollte Ihre Aktivität wieder aufnehmen, wenn Sie