0 초까지 textView.EG:30,29,28,27...so에 30 초를 표시하는 스레드를 실행 중입니다. 그래서 언제 0 초에 도달하면 정의 된 메시지가있는 정의 된 번호로 메시지가 전송됩니다.스레드, 처리기 및 안드로이드에서 SMS 보내기
내 문제는 그 사이에 스레드를 중지하고 그것이 중지되었음을 나타내더라도 여전히 방법입니다. sendTextMessageAlert(); 어떻게 든라고하며 SMS가 전송됩니다 .. 다음과 같은 일이 내 코드에서하고 있어요 :
이uiPost = new Handler();
running = true;
timerThread=new Thread(new Runnable() {
int i;
@Override
public void run() {
// TODO Auto-generated method stub
for(i=30;i>=0;i--)
{
if(running)
{
uiPost.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
setTimerText(i);
}
});
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else
{
timerThread.stop();
end();
//Intent iii=new Intent(Alert.this,FearAlert.class);
//startActivity(iii);
}
}
}//run end
});
timerThread.start();
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//timerThread.stop();
running=false;
// endAlert();
Toast.makeText(getApplicationContext(), "By Button,Monitoring Stopped", 0).show();
}
});
}
public void end(){
vibrator.cancel();
this.locationManager.removeUpdates(this);
if(wakeLock.isHeld())
wakeLock.release();
finish();
}
private void setTimerText(int i)
{
((TextView)findViewById(R.id.TextView03)).setText(String.valueOf(i) + "s");
if(i==0)
{
running=false;
sendTextMessageAlert();
vibrator.cancel();
this.locationManager.removeUpdates(this);
if(wakeLock.isHeld())
wakeLock.release();
finish();
}
}
private void sendTextMessageAlert() {
// TODO Auto-generated method stub
SendSMS task=new SendSMS();
task.startSMS();
}
class SendSMS
{
SharedPreferences myPrefs = getSharedPreferences("FearAlert", 1);
String contactNumber1 = myPrefs.getString("contactNumber1", number);
public void startSMS() {
// TODO Auto-generated method stub
SmsManager.getDefault().sendTextMessage(contactNumber1,
null,
getSharedPreferences("FearAlert", 1).getString("message",getString(R.string.default_emergency_message)+sss),
null, null);
}
M 검사와의 thread.Please 날 도와 정지를 실행 부울을 사용하여 여전히 sendTextMessageAlert가 된 이유 버튼 B1을 눌렀을 때 호출됩니까? 모든 솔루션 .. 사전에 감사합니다 ... 대신 스레드를 사용 CountDownTimer
의