在我的活动结束之前等待的最佳方式是什么?
实际上,我使用“startActivityForResult”从MainActivity启动名为MasterNumber的新活动。 MasterNumber发送短信并显示Toast说“SMS Sent”,但MasterNumber活动关闭得太快,以至于Toast显示在MainActivity中。
以下是MainActivity的内容:
//Lorsqu'on clique sur le bouton "Send"
Button button1 = (Button) findViewById(R.id.masterbutton1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(automatikRN, null, "#00#", null, null);
Toast.makeText(getApplicationContext(), "SMS Sent!",
Toast.LENGTH_LONG).show();
}
catch (Exception e) {
Toast.makeText(getApplicationContext(),
"SMS failed, please try again later!",
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
finish();
}
});
这是MasterNumber(活动)的内容
//Lorsqu'on clique sur le bouton Add Master Number
Button button2 = (Button) findViewById(R.id.mainbutton2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//On va appeler l'activité MasterNumber (#RECIPIENTNUMBERAUTOMATIK-1)
Intent setMasterNumber = new Intent(MainActivity.this, MasterNumber.class);
setMasterNumber.putExtra("MN", recipientNumber); //on lui fournit le n° du dest. afin qu'il soit saisit automatiquement
startActivityForResult(setMasterNumber, 1);
}
});
答案 0 :(得分:0)
试试这个:
//Lorsqu'on clique sur le bouton "Send"
Button button1 = (Button) findViewById(R.id.masterbutton1);
button1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
try
{
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(automatikRN, null, "#00#", null, null);
Toast.makeText(getApplicationContext(), "SMS Sent!",
Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),
"SMS failed, please try again later!",
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
finish();
}
}, Toast.LENGTH_LONG);
}
});
通过使用postDelayed runnable,run()方法中的所有操作位置将在Toast.LENGTH_LONG时间过后执行。