2016-04-02 16 views
0

这里是我的短信()函数。正确打电话时故意工作,但是当我按下返回键则其直接把我的主屏幕上,而不是恢复我的应用程序通过intent发送短信,但按下按钮时,它不能恢复我的应用程序

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(); 
     } 
    } 
} 

请帮助我。谢谢。

+0

发布活动代码。 –

+1

这很正常。不要期望系统总是将您的活动保留在后台,这取决于设备的内存状态,它可以杀死您的活动。 – Egor

+0

那么我能做些什么来防止这种情况? –

回答

0

你需要一个标志来确定你需要调用super.onbackpress(); 或发送短信。

我认为你正在做两个动作一起

0

检查清单首先,可能是SMSActivity你可能已经使用

的android:任何代码您已发布它noHistory =“真”

应该恢复您的活动时,回推

相关问题