私はAndroidとJavaが初めてで、Androidのタイマーで少し遊んでいます。私の目的は、SMS の送信をスケジュールすることです。そのため、タイマーを使用して、SMS を送信する時間を遅らせます。すべてが正常に動作し、エラーなどはありませんが、私の問題は、Androidでアプリを実行するときにタイマーがSMSの送信を待機しないため、「送信」ボタンを押した直後に送信され、待機せずに処理されることです(無限ループに似たもの)。誰かが助けてくれることを願っています:
public class SendMessageActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
button.setText("Hallo");
final Timer mytimer = new Timer(true);
final TimerTask mytask = new TimerTask() {
public void run() {
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phone, "", "Hi Droide!",
null, null);
}
};
mytimer.schedule(mytask, 1000L, 3000L);
final Button button = (Button) findViewById(R.id.send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mytimer.cancel();
}
});
}
});
}