변수들은 이렇게 초기화되어있구요
private
boolean
power=
false
;
private
double
reach=
5
;
아래는 클릭이벤트랑 무한루프 메소드입니다
public
void
onClick(View v) {
if
(chk_auto.isChecked()){
String num = editTextPhoneNumber.getText().toString();
editor.putString(
"NUM"
, num);
editor.putBoolean(
"chk_auto"
,
true
);
editor.commit();
}
else
{
editor.clear();
editor.commit();
}
switch
(v.getId()){
case
R.id.tw_login :
{
if
(power==
true
){
Toast.makeText(
this
,
"알림OFF"
, Toast.LENGTH_SHORT).show();
power =
false
;
}
else
{
Toast.makeText(
this
,
"알림ON"
, Toast.LENGTH_SHORT).show();
power =
true
;
sendSms(v);
}
}
}
}
public
void
sendSms(View v) {
new
Thread(
new
Runnable() {
@Override
public
void
run() {
while
(power) {
if
(reach<=
3
){
try
{
Thread.sleep(
30000
);
}
catch
(InterruptedException e) {
}
}
else
{
Log.d(
"FbActivity"
,
"running"
);
try
{
Thread.sleep(
30000
);
}
catch
(InterruptedException e) {
}
}
}
}
}).run();
}
while
문 안에서는 버튼 클릭을 감지할 수 없다고 하여
스레드를 추가하면 된다는 글을 보고 따라해봤으나 안 되더라구요..
power가
true
로 되어있는 동안(버튼이
1
번 눌리면) 사용자가 입력한 번호로 문자메시지를 일정시간 간격으로 전송하고,
power가 다시
false
가 되면(버튼이 다시 눌리면) 문자메시지 전송을 중단하는 기능입니다.
어디를 어떻게 고쳐야 할까요..?